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();
    }
}
相关推荐
信奥卷王7 小时前
[GESP202609 六级] 分树规划
算法
夏幻灵7 小时前
LeetCode 21:合并两个有序链表——双指针与哑节点详解
算法·leetcode·链表
徐小黑ACG9 小时前
Golang 基础05 结构体struct
开发语言·算法·golang
Navigator_Z9 小时前
LeetCode //C - 1286. Iterator for Combination
c语言·算法·leetcode
北极有牛10 小时前
cpp学习笔记--常量指针
java·开发语言·算法
GPU实战笔记10 小时前
云端 GPU 训练的账户余额提醒:它能说明什么,不能说明什么?
深度学习·算法·成本管理·gpu云计算·云端训练
浮链序10 小时前
怎么证明"你这个模型是偷我的"——把蒸馏变成取证工具
算法·安全·llm
小O的算法实验室10 小时前
IEEE TMC,面向异构物联网的多目标量子行为拓扑优化算法
算法
圣保罗的大教堂11 小时前
leetcode 301. 删除无效的括号 困难
leetcode