IT技術(shù)小屋

          秋風(fēng)秋雨,皆入我心

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            38 隨筆 :: 1 文章 :: 19 評論 :: 0 Trackbacks

          刪除字符串中的“b”和“ac”,需要滿足如下的條件:
          1. 字符串只能遍歷一次
          2. 不能夠?qū)嵱妙~外的空間

          例如:
          1. acbac   ==>  ""
          2. aaac    ==>  aa
          3. ababac  ==>   aa
          4. bbbbd   ==>   d
          5. aaccac  ==> ""

           1 public class Solution {
           2     public String deleteChars(String s) {
           3         StringBuffer sb = new StringBuffer(s);
           4         int fast = 0, slow = -1;
           5         int length = s.length();
           6         while (fast < length) {
           7             if (sb.charAt(fast) == 'b') {
           8                 fast++;
           9             } else if (fast < length - 1 && sb.charAt(fast) == 'a' && sb.charAt(fast + 1) == 'c') {
          10                 fast += 2;
          11             } else {
          12                 sb.setCharAt(++slow, sb.charAt(fast++));
          13                 if (slow > 0 && sb.charAt(slow - 1) == 'a' && sb.charAt(slow) == 'c') {
          14                     slow -= 2;
          15                 }
          16             }
          17         }
          18         return sb.substring(0, slow + 1);
          19     }
          20 }


          posted on 2013-12-28 11:02 Meng Lee 閱讀(121) 評論(0)  編輯  收藏 所屬分類: 待字閨中
          主站蜘蛛池模板: 内乡县| 宜兴市| 平顶山市| 台南县| 桃园市| 安阳市| 烟台市| 澄江县| 辽阳市| 霍州市| 洪洞县| 沿河| 通海县| 三台县| 赣州市| 商城县| 五莲县| 江源县| 前郭尔| 康平县| 大城县| 墨脱县| 伊川县| 莫力| 杂多县| 郎溪县| 绥德县| 武宁县| 于田县| 团风县| 称多县| 襄汾县| 凤凰县| 萨迦县| 黄骅市| 崇礼县| 财经| 阿城市| 阳原县| 东明县| 三门峡市|