当前位置: 首页 > news >正文

山西商城网站建设中国建设银行招聘官网

山西商城网站建设,中国建设银行招聘官网,一个空间2个网站代码,政协网站建设功能1047. 删除字符串中的所有相邻重复项 给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一…

1047. 删除字符串中的所有相邻重复项

给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。

在 S 上反复执行重复项删除操作,直到无法继续删除。

在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。

输入:"abbaca"
输出:"ca"
解释:
例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后的字符串为 "ca"。

 方法一:使用容易理解的栈

思路:

1.将字符串转换为字符数组,依次遍历

2.创建栈

3.开始栈中为空,将字符压栈。

4.将待压入栈的字符与栈顶元素比较,相同时将栈顶元素弹出,不同时将待压栈字符压栈。

5.遍历结束,返回栈中元素的倒序。

class Solution {public String removeDuplicates(String s) {if (s==null||s.length()<=1){return s;}char[] chars = s.toCharArray();Stack<Character> stack = new Stack<>();for (int i = 0; i < s.length(); i++) {if (!stack.isEmpty()&&stack.peek()==chars[i]){stack.pop();}else{stack.push(chars[i]);}}StringBuilder res = new StringBuilder();while (!stack.isEmpty()){res.append(stack.pop());}return String.valueOf(res.reverse());
//两种都可以// while (!stack.isEmpty()){//   res.insert(0,stack.pop());//   }//return String.valueOf(res);}
}

 注:
StringBuffer.insert: 在指定位置把任意类型的数据插入到字符串缓冲区里面,并返回字符串本身

方法二:使用数组

思路:两个索引,一个索引遍历j,一个索引比较i,当相同时,将遍历索引后的字符覆盖相同的字符,更新字符串,详细步骤如下图:

 

        public String removeDuplicates(String s) {if (s==null||s.length()<=1){return s;}char[] chars = s.toCharArray();int i = 0;for (int j =1; j < chars.length; j++) {if (i==-1||chars[i]!=chars[j]){chars[++i]=chars[j];}else {i--;}}return  new String(Arrays.copyOfRange(chars,0,i+1));

 注:

Arrays.copyOfRange是一个数组拷贝方法,可以将一个数组中的一部分拷贝到一个新数组中。

int[] original = new int[] {1, 2, 3, 4, 5};
int[] copied = Arrays.copyOfRange(original, start, end);

 original拷贝的源数组,start是拷贝的起始位置(包含),end是拷贝的结束位置(不包含)。

http://www.yayakq.cn/news/669524/

相关文章:

  • 电子商务书店网站设计实验西安哪个公司可以做网站
  • 国内最最早做虚拟货币的网站哪有做建筑设计的网站
  • 网站版权 技术支持微信小程序
  • 深圳动力网站设计公司汽车网站开发流程
  • 网站建设开题报告数据库建立广告推销
  • wordpress 中文建站三亚网站建设报价
  • 微信网站建设哪家好海宁网站建设
  • 长沙网站推广系统济南网络品牌推广
  • 网站发展历程wordpress 用户注册
  • 招聘美容师在哪个网站做招聘最有效成都微信开发小程序
  • 怎么做口子推广网站重庆忠县网站建设公司哪里有
  • 网站前端页面设计网站推广找客户
  • 有什么做数学题的网站网站怎么写容易获得关键词排名
  • 北京大兴网站建设首选公司福田蒙派克柴油版7座
  • 网站建设推广优化手机类网站设计
  • 到底建手机网站还是电脑网站优惠劵精选网站怎么做
  • 网站建设公司薪资网站设置首页连接分类页的视频教程
  • 网站建设与管理维护说课做网站的步骤视频
  • 电商网站项目建设wordpress充值会员
  • 青岛制作网站软件加强健康养老网站建设
  • 可以自己做网站优化吗免费制作的企业网站
  • 二级a做爰片免费网站做高仿网站
  • 免费房地产网站模板wdlinux wordpress
  • 中企动力初期做的网站杭州的电商网站建设
  • 成都淮州新城建设投资有限公司网站网站开发公司怎么建服务器
  • html5开发的网站用图片做简单网站
  • 邯郸景区网站制作怎样选择高性价比的建站公司
  • 益阳网站开发公司什么软件可以做企业网站
  • 网站建设的软件平台营销型网站工程
  • 电子商务网站建设与管理课程论文做网站合同模板