1047--Remove All Adjacent Duplicates In String
2024-08-30 21:09:10
public class RemoveAllAdjacentDuplicatesInString {
/*
解法一:栈
*/
public String removeDuplicates(String S) {
Stack<Character> stack=new Stack<>();
for (char c:S.toCharArray()){
if (stack.isEmpty()||c!=stack.peek())
stack.push(c);
else
stack.pop();
}
StringBuilder stringBuilder=new StringBuilder();
for (Character character:stack)
stringBuilder.append(character);
return stringBuilder.toString();
}
/*
解法二:StringBuilder模拟栈。
*/
public String removeDuplicates2(String S) {
StringBuilder stringBuilder=new StringBuilder();
int length=0;
for (char c:S.toCharArray()){
if (length!=0&&c==stringBuilder.charAt(length-1))
stringBuilder.deleteCharAt(length-- -1);
else {
stringBuilder.append(c);
length++;
}
}
return stringBuilder.toString();
}
}
最新文章
- PHP 判断点是否在多边形内
- iOS 动画绘制线条颜色渐变的折线图
- hdu 1559 最大子矩阵
- 广播Broadcast Receiver
- 更新引用google的cdn外部jQuery核心库JS文件
- socket初级使用(客户端)
- android开发 BaseAdapter中getView()里的3个参数是什么意思
- SVN 中trunk、branches、tags
- ZOJ-3725 Painting Storages 动态规划
- DRL之:策略梯度方法 (Policy Gradient Methods)
- 关于ASCII、GB231、GBK、UTF-8/UTF8、ANSI、unicode的学习笔记
- MAC 上搭建lua环境
- vs2010调试快捷键
- 一个简单链表的C++实现
- pojg487-3279电话号码转换(字符映射)
- Android 的 SDK Manager 无法启动 闪退解决方法
- 24.Django路由规则
- css左侧固定宽度右侧自适应
- Python Scrapy项目创建(基础普及篇)
- Centos设置防火墙与开放访问端口
热门文章
- k8s集群搭建 2019
- 第五周周二练习:实验 5 Spark SQL 编程初级实践
- Java的十三个设计模式
- elasticsearch入门及安装
- <;LinkedList>; 160
- vijos2054 SDOI2019 热闹的聚会与尴尬的聚会
- zr2019暑期高端峰会AB组十测
- Error running &#39;xxx&#39;: Command line is too long. Shorten command line for xxx
- 团队作业第五次—项目冲刺-Day2
- Java开发:字符串切割split函数——切割符转码注意事项