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();
    }
}


相关文章
|
5天前
|
算法 前端开发
从字符串中移除星号
从字符串中移除星号
22 0
|
5天前
|
索引 容器
06-数据容器str(字符串)-字符串的下标索引/字符串无法修改/查找字符串下标初始值/字符串的替换/字符串的分割/字符串去除前后空格/统计字符串的数量/字符串的循环遍历/对字符串进行分割
06-数据容器str(字符串)-字符串的下标索引/字符串无法修改/查找字符串下标初始值/字符串的替换/字符串的分割/字符串去除前后空格/统计字符串的数量/字符串的循环遍历/对字符串进行分割
|
8月前
|
C语言 C++
从字符串中删除指定字符
从字符串中删除指定字符
|
12月前
|
数据安全/隐私保护 索引
labview字符串数据长度连接子字符串大小写替换删除插入日期匹配
labview字符串数据长度连接子字符串大小写替换删除插入日期匹配
125 0
|
C语言
查找某字符串出现的位置,并且输出该第一个字母所在的位
查找某字符串出现的位置,并且输出该第一个字母所在的位
103 0
查找某字符串出现的位置,并且输出该第一个字母所在的位
删除字符串中字符最少的字符并返回
删除字符串中字符最少的字符并返回
|
开发者 Python
移除空字符串 | 学习笔记
快速学习 移除空字符串
138 0
|
Python
一日一技:如何移除所有不可见字符?
一日一技:如何移除所有不可见字符?
398 0
一日一技:如何移除所有不可见字符?
|
Web App开发 索引
在字符串S1中删除字符串S2中所包含的字符【转】
转自:http://www.cnblogs.com/tolimit/p/4202959.html /************************************************************************* > File Name: test.
1044 0