Leetcode:541

1,题目

2,思路

  • 用List集合来装字符串其中每k个为一个元素单位
  • 我们根据题目意思就可以明白list中偶数位需要反转reverse,奇数保持原样
  • 再全部拼接一块
  • 最后return tostring

3,代码

java 复制代码
import java.util.ArrayList;
import java.util.List;

public class Leetcode541 {
    public static void main(String[] args) {
        System.out.println(new Solution541().reverseStr("abcdefg", 2));//"bacdfeg"
    }
}

class Solution541 {
    public String reverseStr(String s, int k) {
        List<StringBuffer> list = new ArrayList<>();
        int i = 0;
        int j = k;
        for (; j < s.length(); i = j, j += k) {
            list.add(new StringBuffer(s.substring(i, j)));//满足k条件的字符串
        }
        list.add(new StringBuffer(s.substring(i)));//截取剩余的字符串
        for (i = 0; i < list.size(); i++) {
            if (i % 2 == 0) list.get(i).reverse();//偶数次反转
        }
        StringBuffer stringBuffer = new StringBuffer();
        for (StringBuffer buffer : list) {
            stringBuffer.append(buffer);
        }
        return stringBuffer.toString();
    }
}
相关推荐
py有趣43 分钟前
LeetCode算法学习之两数之和 II - 输入有序数组
学习·算法·leetcode
夏鹏今天学习了吗1 小时前
【LeetCode热题100(62/100)】搜索二维矩阵
算法·leetcode·矩阵
吃着火锅x唱着歌3 小时前
LeetCode 1128.等价多米诺骨牌对的数量
算法·leetcode·职场和发展
十八岁讨厌编程3 小时前
【算法训练营 · 补充】LeetCode Hot100(中)
算法·leetcode
橘颂TA3 小时前
【剑斩OFFER】算法的暴力美学——最小覆盖字串
算法·c/c++·就业
wearegogog1233 小时前
基于混合蛙跳算法和漏桶算法的无线传感器网络拥塞控制与分簇新方法
网络·算法
Tiandaren4 小时前
大模型应用03 || 函数调用 Function Calling || 概念、思想、流程
人工智能·算法·microsoft·数据分析
2301_795167205 小时前
玩转Rust高级应用 如何进行理解Refutability(可反驳性): 模式是否会匹配失效
开发语言·算法·rust
小当家.1055 小时前
[LeetCode]Hot100系列.贪心总结+思想总结
算法·leetcode·职场和发展
墨雪不会编程6 小时前
数据结构—排序算法篇二
数据结构·算法·排序算法