美文网首页
刷题Day1

刷题Day1

作者: 小菜鸟程序媛 | 来源:发表于2019-07-23 12:31 被阅读0次

题目描述

image.png

代码

思路:使用了栈后进先出的思想

class Solution {
    public String removeOuterParentheses(String S) {
        StringBuilder sb = new StringBuilder();

        Stack<Character> stack = new Stack<>();
        int start = 0;
        int end = 0;
        boolean flag = false;
        for(int i = 0;i<S.length();i++){
            if(S.charAt(i) == '('){
                stack.push(S.charAt(i));
                if(!flag){
                    start = i;
                    flag = true;
                }
            }

            if(S.charAt(i) == ')'){
                stack.pop();
                if(stack.isEmpty()){
                    end = i;
                    sb.append(S.substring(start+1, end));
                    flag = false;
                    start = end;
                }
            }
        }

        return sb.toString();
    }
}

延伸

给一个字符串a#bc#d#e#f,要求输出两个#号中间的字符串,但是如果前一个字符串使用了该#,后面的就不能使用。所以该字符串输出结果应该是bc e

代码

这里同样使用了栈的思路。该题目类似于微博的话题。

public static List<String> getString(String S) {
        List<String> list = new ArrayList<>();
        Stack<Character> stack = new Stack<>();
        int start = 0;
        int end = 0;

        for (int index = 0; index < S.length(); index++) {
            if (S.charAt(index) == '#') {
                if (stack.isEmpty()) {
                    stack.push(S.charAt(index));
                    start = index;
                } else {
                    stack.pop();
                    end = index;
                    list.add(S.substring(start + 1, end));
                }
            }
        }
        return list;
    }

相关文章

  • 刷题Day1

    题目描述 代码 思路:使用了栈后进先出的思想。 延伸 给一个字符串a#bc#d#e#f,要求输出两个#号中间的字符...

  • 47.算法->获取n以内所有素数个数

    day1:假期打卡失败,节后继续刷题算法->计数质数[https://leetcode-cn.com/proble...

  • 寒假 刷题day1

    今天正式刷题第一天。 今日任务:沪尚优质教辅书五年级数学下册《一课一练》。 除单元测试之外,共58课。今年疫情不回...

  • 刷题刷题

    时间紧迫,任务繁重,又有疫情影响,搞的人心惶惶,一时间复习得不安宁,又舍不得摆烂。 在焦灼、惶恐的情绪中,紧张急迫...

  • 2022-09-16

    刷题,刷题还是刷题

  • 2018-07-16

    刷题,祸害的何止是教育? 报班,刷题;买练习册,刷题;家教,刷题;跟不上,刷题;学得好,刷题;为了抢跑,刷题;为了...

  • 刷题啊刷题

    因为月底又要考试,所以最近几天一直在刷题。按说是看了书再看视频再刷题效果比较好才是。可是来不及了啊。 上次考试,就...

  • 刷题啊刷题

    刷题啊刷题 因为11月中旬要举行期中考试,所以最近几天,学校精心组织,一直在刷题。按说是看了书再看PPT课件或教师...

  • 2020-02-01关于刷题的几个建议

    算法刷题 针对性刷题,刻意练习。刻意刷题!不是麻木刷题!刷题前一定要先看书,清楚明白为什么要刷这些题,这些题刷完能...

  • 《自控力》明明是干货,为什么你的名字这么鸡汤...

    Day1心得 我们每个人的每一天都是由选择题组成的,每一题的选项只有两个,“我要做”和“我不要”。比如起床后我要刷...

网友评论

      本文标题:刷题Day1

      本文链接:https://www.haomeiwen.com/subject/tosolctx.html