2390.从字符串中移除星号

简介: 2390.从字符串中移除星号

题目:给你一个包含若干星号 * 的字符串 s 。

在一步操作中,你可以:

  • 选中 s 中的一个星号。
  • 移除星号 左侧 最近的那个 非星号 字符,并移除该星号自身。

返回移除 所有 星号之后的字符串。

注意:

  • 生成的输入保证总是可以执行题面中描述的操作。
  • 可以证明结果字符串是唯一的。

解题思路:从遍历的顺序来看,最后遍历到了先删除,用栈来方便解决。

遍历字符,遇到*就弹出栈顶,否则就入栈。

最后把栈里的字符以逆序组成字符串即是答案。

class Solution{
    public String removeStars(String s){
        Stack<Character>stack=new Stack<>();
        for(char ch:s.toCharArray()){
            if(ch=='*'){
                stack.pop();            
            }else{
                stack.push(ch);            
            }        
        }    
        StringBuilder sb=new StringBuilder();
        while(!stack.isEmpty()){
            sb.insert(0,stack.pop());        
        }
        return sb.toString();
    }
}


相关文章
|
15天前
|
算法 前端开发
从字符串中移除星号
从字符串中移除星号
22 0
如何去掉字符串开头,结尾或者中间的空格及其他不想要的字符
去掉文本字符串开头,结尾或者中间不想要的字符,比如空白。
|
8月前
|
C语言 C++
从字符串中删除指定字符
从字符串中删除指定字符
|
数据安全/隐私保护 索引
labview字符串数据长度连接子字符串大小写替换删除插入日期匹配
labview字符串数据长度连接子字符串大小写替换删除插入日期匹配
133 0
第一个只出现一次的字符
第一个只出现一次的字符
35 0
删除字符串中字符最少的字符并返回
删除字符串中字符最少的字符并返回
C#编程-17:字符串取第一个和最后一个字符
C#编程-17:字符串取第一个和最后一个字符
264 0
|
Python
一日一技:如何移除所有不可见字符?
一日一技:如何移除所有不可见字符?
399 0
一日一技:如何移除所有不可见字符?
|
Web App开发 索引
在字符串S1中删除字符串S2中所包含的字符【转】
转自:http://www.cnblogs.com/tolimit/p/4202959.html /************************************************************************* > File Name: test.
1045 0