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();
    }
}
相关推荐
君鼎17 分钟前
剑指offer37_数组中出现次数超过一半的数字
数据结构·算法
豆沙沙包?26 分钟前
2025年- H83-Lc191--139.单词拆分(动态规划)--Java版
java·算法·动态规划
潘小安29 分钟前
『算法』图解数组排序全家桶 - 堆排序
算法·react.js·面试
星沁城1 小时前
172. 阶乘后的零
java·算法·leetcode
玉~你还好吗2 小时前
【LeetCode#第198题】打家劫舍(一维dp)
算法·leetcode
G等你下课3 小时前
摆动序列
算法
地平线开发者3 小时前
地平线高效 backbone: HENet - V1.0
算法·自动驾驶
Postkarte不想说话3 小时前
二叉平衡搜索树(AVL树)
算法
安全系统学习3 小时前
【网络安全】文件上传型XSS攻击解析
开发语言·python·算法·安全·web安全