反转字符串

Posted 张宵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反转字符串相关的知识,希望对你有一定的参考价值。

题目链接:
https://leetcode-cn.com/problems/reverse-string-ii/
题目描述:

题解:
要点:遍历的步长为2 * k。当需要固定规律一段一段去处理字符串的时候,要想想在在for循环的表达式上做做文章。

class Solution {
public:
    void reverse(string& s, int start, int end){
        for(int i = start, j = end; i < j; i++, j--)
            swap(s[i], s[j]);
    }
    string reverseStr(string s, int k) {
        for(int i = 0; i < s.size() - 1; i += (2 * k))
        {
            if(i + k <= s.size() - 1)
            {
                reverse(s, i, i + k - 1);
                continue;
            }
            reverse(s, i, s.size() - 1);
       
        }
        return s;

    }
};

以上是关于反转字符串的主要内容,如果未能解决你的问题,请参考以下文章

使用 C++ 反转句子中的每个单词需要对我的代码片段进行代码优化

如何在 BackStack 上反转片段动画?

Python 中的反转字符串:reversed()切片等

2022&2023华为OD机试 - 单词反转 2(Python)

华为OD机试真题Java实现单词反转真题+解题思路+代码(2022&2023)

华为OD机试 - 单词反转(Python)| 真题含思路