zoukankan      html  css  js  c++  java
  • [LC] 82. Remove Adjacent Repeated Characters IV

    Repeatedly remove all adjacent, repeated characters in a given string from left to right.

    No adjacent characters should be identified in the final string.

    Examples

    • "abbbaaccz" → "aaaccz" → "ccz" → "z"
    • "aabccdc" → "bccdc" → "bdc"
    public class Solution {
      public String deDup(String input) {
        // Write your solution here
        char[] charArr = input.toCharArray();
        LinkedList<Character> stack = new LinkedList<>();
        for (int i = 0; i < charArr.length; i++) {
          char cur = charArr[i];
          if (!stack.isEmpty() && stack.peekFirst() == cur) {
            while (i + 1 < charArr.length && charArr[i] == charArr[i + 1]) {
              i += 1;
            }
            stack.pollFirst();
          } else {
            stack.offerFirst(cur);
          }
        }
        char[] res = new char[stack.size()];
        for (int i = res.length - 1; i >= 0; i--) {
          res[i] = stack.pollFirst();
        }
        return new String(res);
      }
    }
  • 相关阅读:
    css
    css笔记
    css笔记
    echarts
    css笔记
    跨域
    JS案例
    html2canvas
    echarts
    echarts
  • 原文地址:https://www.cnblogs.com/xuanlu/p/12330552.html
Copyright © 2011-2022 走看看