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();
    }
}
相关推荐
地平线开发者38 分钟前
征程 6EM 常见 QConfig 配置解读与示例
算法·自动驾驶
GEEK零零七1 小时前
Leetcode 1908. Nim 游戏 II
算法·leetcode·博弈论
sbc-study1 小时前
混沌映射(Chaotic Map)
开发语言·人工智能·python·算法
Magnum Lehar2 小时前
vulkan游戏引擎game_types.h和生成build.bat实现
java·算法·游戏引擎
Christophe Chen2 小时前
strcat及其模拟实现
c语言·算法
独家回忆3643 小时前
每日算法-250531
算法
@我漫长的孤独流浪3 小时前
数据结构测试模拟题(2)
数据结构·c++·算法
秋难降3 小时前
贪心算法:看似精明的 “短视选手”,用好了也能逆袭!💥
java·算法
没故事的燕同学3 小时前
C++递推
算法