LeetCode 541 反转字符串

  • 分析
    思路比较简单,需要注意的是string的长度可能小于k
  • 代码
class Solution {
    
    
public:
    string reverseStr(string s, int k) {
    
    
        int len = s.length();
        int i = 0;        

        while(i < len){
    
    
            int num = 0;
            while(i < len && i / k % 2 == 0){
    
    
                i++;
                num++;
            }

            if(i == len){
    
    
            		//处理sting长度小于k的部分
                reverse(s.begin() + i - num, s.begin() + i);
            }
            else{
    
    
                reverse(s.begin() + i - k, s.begin() + i);
            }

            while(i < len && i / k % 2 == 1) i++;
        }

        return s;
    }
};

Guess you like

Origin blog.csdn.net/xiaoan08133192/article/details/119819818