题解 | #压缩字符串(一)#

压缩字符串(一)

https://www.nowcoder.com/practice/c43a0d72d29941c1b65c857d8ac9047e

public class CompressString {
	public String compressString(String param) {
		// write code here
		if (param == null || param.length() == 0) {
			return "";
		}
		Stack stack = new Stack();
		char[] chars = param.toCharArray();
		ArrayList<Integer> list = new ArrayList<>();
		stack.push(chars[0]);
		int count = 1;
		for (int i = 1; i < chars.length; i++) {
			Object peek = stack.peek();
			if (chars[i] == (char) peek) {
				count++;
			} else {
				stack.push(chars[i]);
				list.add(count);
				count = 1;
			}
		}
		list.add(count);
		StringBuilder builder = new StringBuilder();
		for (int i = list.size() - 1; i >= 0; i--) {
			Integer integer = list.get(i);
			if (integer == 1) {
				builder.append(stack.pop());
			} else {
				builder.append(list.get(i)).append(stack.pop());
			}
		}
		builder.reverse();
		return builder.toString();
		
	}
}

#算法题#
全部评论

相关推荐

程序员小白条:你不是有一段实习了吗,现在找中大厂实习?过段时间要秋招了
我的简历长这样
点赞 评论 收藏
分享
ZywOo_求职版:谁问你了....
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
程序员饺子:正常 我沟通了200多个 15个要简历 面试2个 全投的成都的小厂。很多看我是27直接不会了😅
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务