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();
    }
}
相关推荐
方博士AI机器人7 分钟前
算法与数据结构 - 常用图算法总结
算法
一匹电信狗29 分钟前
【C++】手搓一个STL风格的string容器
c语言·数据结构·c++·算法·leetcode·stl·visual studio
小南家的青蛙39 分钟前
LeetCode第284题 - 窥视迭代器
java·leetcode
Susea&1 小时前
趣味编程:答案之书
c语言·开发语言·c++·算法·技术美术
heart000_12 小时前
2025蓝桥杯十六届C++ B组题解与代码分析
c++·算法·蓝桥杯
青松@FasterAI9 小时前
【大模型面试】大模型(LLMs)高频面题全面整理(★2025年5月最新版★)
面试·职场和发展·大模型开发·大模型面试·nlp面试·nlp面题·大模型面题
Mi Manchi269 小时前
力扣热题100之搜索二维矩阵 II
python·leetcode·矩阵
爱吃涮毛肚的肥肥(暂时吃不了版)9 小时前
仿腾讯会议——创建房间&加入房间
c++·qt·面试·职场和发展·腾讯会议
Kidddddult10 小时前
力扣刷题Day 37:LRU 缓存(146)
算法·leetcode·力扣
生信碱移10 小时前
TCGA数据库临床亚型可用!贝叶斯聚类+特征网络分析,这篇 NC 提供的方法可以快速用起来了!
人工智能·python·算法·数据挖掘·数据分析