补签一下day10的,实际已经到day15了,day10和day11都是栈和队列的知识,最近考核要用到,所以先复习一下这个。后面几天都是二叉树,等考完试继续跟进。
没带电脑,用笔记下来了学习的地方。差一个题,书上没有,在网站上,先留着不看了。
4.删除字符串中的所有相邻重复项:代码随想录 (programmercarl.com)
力扣链接:. - 力扣(LeetCode)
看题目知道一眼栈,类似消消乐。
package LuStudy;
import java.util.ArrayDeque;
/*
* 删除字符串中的所有相邻重复项
*
* https://www.programmercarl.com/1047.%E5%88%A0%E9%99%A4%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E7%9B%B8%E9%82%BB%E9%87%8D%E5%A4%8D%E9%A1%B9.html
*/
public class _10_4DeleteAllAdjacentDuplicates {
public static String removeDuplicates(String s) {
ArrayDeque<Character> deque = new ArrayDeque<>(); // 要操作的栈,存结果的
char[] ch = s.toCharArray();
for (char c : ch) {
if (deque.isEmpty() || deque.peek() != c) {
deque.push(c);
} else {
deque.pop();
}
}
String res = ""; // 为了保证都消掉之后可以返回
while (!deque.isEmpty()) {
res = deque.pop() + res;
}
return res;
}
public static void main(String[] args) {
String s = "abbaca";
System.out.println(removeDuplicates(s));
}
}
最近培训加考试,实在没时间了,考完还有需求要做,最近太焦虑了,新人真的头疼,很害怕,怀疑自己。
但转念一想,焦虑与否事情都会来,不如积极应对,哪怕不成功,最起码这个过程中人是向上学习的,心情没那么内耗。