package com.company.base; import java.util.Arrays; import java.util.Collections; import java.util.List; public class ReverseString { public static void main(String[] args) { String str = "每隔k个字符翻转一次字符串,不足k个不翻转12"; String result = reverseStr(str, 3); System.out.println(result); } public static String reverseStr(String str, int k) { if (str == null || str.length() == 0) return null; String[] result = str.split("(?<=\\G.{"+k+"})(?=.)"); StringBuffer buffer = new StringBuffer(); for (String item : result) { if (item.length() == k) { List<String> asList = Arrays.asList(item.split("(?<=\\G.{1})(?=.)")); Collections.reverse(asList); asList.forEach(s -> {//能不能不要再次循环了? buffer.append(s); }); } else { buffer.append(item); } } return buffer.toString(); } }
点赞 评论

相关推荐

牛客网
牛客企业服务