首页 > 其他 > 详细

栈和StringBuffer的使用

时间:2021-03-09 18:46:15      阅读:27      评论:0      收藏:0      [点我收藏+]
public static String st(String S) {
Stack<Object> stack = new Stack<>(); //新建一个栈,对于不能有重复项的题目优先考虑用栈
for (int i = 0; i < S.length(); i++) {
if (stack.isEmpty() || !stack.peek().equals(S.charAt(i))) {
stack.push(S.charAt(i));
} else {
stack.pop();
}
}
StringBuffer s = new StringBuffer(); //字符串拼接用StringBuffer优于String
for (Object o : stack) {
s.append(o);

}
return s.toString();

}

这个是力扣上面的1047题,里面是对栈和StringBuffer的使用

(一) 对于不能有重复项的题目优先考虑用栈,栈有先进后出的特点,一般使用的有四个关于栈的方法
Stack<Object> stack = new Stack<>(); 这个是在java里面新建一个栈
stack.push() 往栈里面添加一个元素
stack.pop() 获取并删除栈顶的一个元素
stack.peek() 读取栈顶的一个元素,是读取,不是取出来
stack.isEmpty() 判断是否为栈空

(二) 在做是字符串的拼接的时候,StringBuffer的效率明显高于String,下图第一个是用StringBuffer做的字符串拼接,
第二个是用的String做的字符串拼接

技术分享图片

 

栈和StringBuffer的使用

原文:https://www.cnblogs.com/wuhuac/p/14507090.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!