LeetCode--541.反转字符串 II(字符串)
题目描述给定一个字符串s和一个整数k从字符串开头算起每计数至2k个字符就反转这2k字符中的前k个字符。如果剩余字符少于k个则将剩余字符全部反转。如果剩余字符小于2k但大于或等于k个则反转前k个字符其余字符保持原样。示例 1输入s abcdefg, k 2 输出bacdfeg示例 2输入s abcd, k 2 输出bacd提示1 s.length 104s仅由小写英文组成1 k 104代码classSolution{publicstaticvoidreverse(char[]s,intstart,intend){// 做成左闭右开区间end--;while(startend){s[start]^s[end];s[end]^s[start];s[start]^s[end--];}}publicStringreverseStr(Strings,intk){// 转换成字符数组进行操作char[]charss.toCharArray();intstart0;// 2k为一组减少遍历循环次数for(inti0;ichars.length;i2*k){reverse(chars,i,Math.min((ik),chars.length));}returnnewString(chars);}}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2503933.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!