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;
    }
};
相关推荐
leke200317 分钟前
2025年10月17日
算法
CoovallyAIHub18 分钟前
Mamba-3震撼登场!Transformer最强挑战者再进化,已进入ICLR 2026盲审
深度学习·算法·计算机视觉
Aqua Cheng.23 分钟前
代码随想录第七天|哈希表part02--454.四数相加II、383. 赎金信、15. 三数之和、18. 四数之和
java·数据结构·算法·散列表
怀揣小梦想23 分钟前
跟着Carl学算法--哈希表
数据结构·c++·笔记·算法·哈希算法·散列表
Nebula_g24 分钟前
Java哈希表入门详解(Hash)
java·开发语言·学习·算法·哈希算法·初学者
Kent_J_Truman24 分钟前
【模拟散列表】
数据结构·算法·蓝桥杯·散列表·常识类
Lchiyu29 分钟前
哈希表 | 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和
算法
玩镜的码农小师兄30 分钟前
[从零开始面试算法] (04/100) LeetCode 136. 只出现一次的数字:哈希表与位运算的巅峰对决
c++·算法·leetcode·面试·位运算·hot100
RTC老炮1 小时前
webrtc弱网-AcknowledgedBitrateEstimatorInterface类源码分析与算法原理
网络·算法·webrtc
Antonio9152 小时前
【图像处理】常见图像插值算法与应用
图像处理·算法·计算机视觉