2024.1.22(1047删除字符串中的所有相邻重复项)

2024.1.22(删除字符串中的所有相邻重复项)
2024.1.22(1047删除字符串中的所有相邻重复项)_第1张图片
2024.1.22(1047删除字符串中的所有相邻重复项)_第2张图片

2024.1.22(1047删除字符串中的所有相邻重复项)_第3张图片
从栈中弹出剩余元素,此时是字符串ac,因为从栈里弹出的元素是倒序的,所以再对字符串进行反转一下,就得到了最终的结果。
当然可以拿字符串直接作为栈,这样省去了栈还要转为字符串的操作。

2024.1.22(1047删除字符串中的所有相邻重复项)_第4张图片

使用 Deque 作为堆栈
2024.1.22(1047删除字符串中的所有相邻重复项)_第5张图片
这段代码使用了一个双端队列(ArrayDeque)来存储字符。它遍历输入字符串中的每个字符,并将不重复的字符按相反的顺序添加到队列中。最后,它将队列中的元素连接成一个新的字符串并返回。

你可能感兴趣的:(java,数据结构,算法)