leetcode:反转字符串II

题目链接

cpp 复制代码
string reverse(string s1)
{
	string s2;
	string::reverse_iterator rit = s1.rbegin();
	while (rit != s1.rend())
	{
		s2 += *rit;
		rit++;
	}
	return s2;
}
class Solution {
public:
    string reverseStr(string s, int k) {
        string s1;
        int i = 0;//标记字符串下标
        int j = 0;
        int length =s.length();

        
             for (i = 0; i < length; i+=2*k)
            {
	            if (i+2*k<length)
	            {
		            string tmp = s.substr(i, k);//字符串s从i号下标位置取k个字符
		            tmp = reverse(tmp);
		            s1 += tmp;
		            s1 += s.substr(i + k, k);
	            }
	            else if (i + 2 * k >= length&&i+k<length)
	            {
		            string tmp = s.substr(i, k);//字符串s从i号下标位置取k个字符
		            tmp = reverse(tmp);
		            s1 += tmp;
		            s1 += s.substr(i + k, length - (i + k));
	            }
	            else//i+k>length
	            {
		            string tmp = s.substr(i, length);//字符串s从i号下标位置取k个字符
		            tmp = reverse(tmp);
		            s1 += tmp;
	            }
            }
        
        return s1;
    }
};
相关推荐
renhongxia114 分钟前
世界模型,是“空中楼阁”还是AGI的“最后一块拼图”?
运维·服务器·数据库·人工智能·算法·agi
G.O.G.O.G1 小时前
LeetCode SQL 从入门到精通(MySQL)06(上)
数据库·sql·mysql·leetcode
zephyr052 小时前
动态规划-最长上升子序列问题
算法·动态规划
闪电悠米3 小时前
力扣hot100-56.合并区间-排序详解
数据结构·算法·leetcode·贪心算法·排序算法
卡提西亚4 小时前
leetcode-1438. 绝对差不超过限制的最长连续子数组
算法·leetcode·职场和发展
Java面试题总结4 小时前
LeetCode 93.复原IP地址
算法·leetcode·职场和发展·.net
从零开始的代码生活_5 小时前
C++ 多态详解:虚函数、动态绑定、抽象类与虚表原理
开发语言·c++·后端·学习·算法
泷寂5 小时前
最小生成树 (MST基础)
算法
Daniel_1236 小时前
数组——总结篇
算法
不懒不懒6 小时前
【针对路面识别数据集,结合三轴加速度标准化数据及多路面识别需求,以下是算法选择与处理方案】
算法