LeetCode 1047

本文最后更新于:2021年9月8日 晚上

LeetCode 1047

概述

思路

  • 想当于两个元素的匹配问题,考虑用栈

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    class Solution {
    public:
    string removeDuplicates(string s) {
    stack<char> sk;
    for(int i=0;s[i];i++){
    if(!sk.empty()&&sk.top()==s[i]) sk.pop(); //这里要加非空判断,因为后续也可能出现栈为空的情况
    else sk.push(s[i]);
    }
    string p="";
    while(!sk.empty()){
    p+=sk.top();
    sk.pop();
    }
    reverse(p.begin(),p.end());
    return p;
    }
    };

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!