z字形字符串:算法
巧妙利用的是list的下标,不同的位置,加的值不同。
package com.lhb.listnode; import java.util.ArrayList; import java.util.List; /** * @author lhb * @date 2022/3/12 */ public class ZListNode { public static String zstring(String s, int k){ List<StringBuilder> list = new ArrayList<>(); for (int i = 0; i< k ;i++) { list.add(new StringBuilder()); } int flag = -1; int j = 0; for (int index = 0; index < s.length(); index++) { if (j == 0|| j == k - 1) { flag = -flag; } list.get(j).append(s.charAt(index)); j+=flag; } for (int i = 1; i < k; i++) { list.get(0).append(list.get(i)); } return list.get(0).toString(); } public static void main(String[] args) { System.out.println(zstring("SLHGEAKLHIWE", 4)); } }

浙公网安备 33010602011771号