成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

LeetCode[385] Mini Parser

Wuv1Up / 3366人閱讀

摘要:復(fù)雜度思路每次遇到一個(gè)就推進(jìn)去一個(gè),每次碰到一個(gè)數(shù)字,就在。每次碰到一個(gè)右括號(hào),就把出的,并將其壓到棧頂?shù)闹小?/p>

LeetCode[385] Mini Parser

Given s = "[123,[456,[789]]]",

Return a NestedInteger object containing a nested list with 2 elements:

An integer containing value 123.

A nested list containing two elements:

An integer containing value 456.

A nested list with one element:

An integer containing value 789.

Using Stack

復(fù)雜度
O(N), O(N)

思路
每次遇到一個(gè)“["就推進(jìn)去一個(gè)nextedinteger,每次碰到一個(gè)數(shù)字,就在stack.peek().add(number)。每次碰到一個(gè)右括號(hào),就把pop()出peek()的nexted integer,并將其壓到棧頂?shù)膎estedinteger中。

代碼

public NestedInteger deserialize(String s) {
    // check the input string first;
    // .... if(s == null) return ..null 
    char[] arr = s.toCharArray();
    if(arr[0] != "[") return new NestedInteger(Integer.parseInt(s));
    Stack stack = new Stack<>();
    for(int i = 0; i < arr.length; i ++) {
        char ch = arr[i];
        if(ch == "[") {
            stack.push(new NestedInteger());
        }
        else if(ch == "]" && stack.size() > 1) {
            NestedInteger top = stack.pop();
            stack.peek().add(top);          
        }
        else if(Character.isDigit(ch) || ch == "-") {
            boolean pos = true;
            if(ch == "-") pos = false;
            int num = 0;
            while(i < arr.length && Character.isDigit(arr[i])) {
                num *= 10;
                num += arr[i] - "0";
                i ++;
            }
            // move i back to the integer, [788],
            // otherwise will skip the "]"
            i --;
            stack.peek().add(pos ? num : -num);
        }
    }
    return stack.pop();
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/65262.html

相關(guān)文章

  • [LeetCode/LintCode] Design Twitter/Mini Twitter

    摘要:首先建立按時(shí)間戳從大到小排列的,找到中的,出其中在中存在的,把每一個(gè)的推特鏈表放入,再?gòu)闹腥☆^十條推特的放入結(jié)果數(shù)組。 Design Twitter Note 建立兩個(gè)HashMap,一個(gè)存user,一個(gè)存tweets。以及整型的時(shí)間戳timestamp。user的k-v pair是userId-follower_set,tweets的k-v pair是userId-tweets_li...

    honmaple 評(píng)論0 收藏0
  • V5.NET:新客首單7折優(yōu)惠,香港服務(wù)器低至325元/月,韓國(guó)獨(dú)立服務(wù)器月付436元起

    摘要:怎么樣本月商家韓國(guó)香港服務(wù)器香港服務(wù)器新客首單折,優(yōu)惠后香港服務(wù)器最低港元元起,韓國(guó)服務(wù)器韓國(guó)服務(wù)器月付港元元起。v5.net怎么樣?本月V5.NET商家韓國(guó)/香港服務(wù)器新客首單7折,優(yōu)惠后香港服務(wù)器最低385港元(≈RMB325元)起,韓國(guó)服務(wù)器月付525港元(≈RMB436元)起。V5.NET是一家提供獨(dú)立服務(wù)器租用和云服務(wù)器產(chǎn)品的商家,主要提供中國(guó)香港、臺(tái)灣、日本、韓國(guó)等地區(qū)獨(dú)立服務(wù)器...

    番茄西紅柿 評(píng)論0 收藏2637
  • 容器最大盛水量

    摘要:容器最大盛水量給定個(gè)非負(fù)整數(shù),,,,其中每個(gè)表示坐標(biāo),處的點(diǎn)。找到兩條線,它們與軸一起形成一個(gè)容器,使得容器含有最多的水。 容器最大盛水量 Container With Most Water 給定n個(gè)非負(fù)整數(shù)a1,a2,...,an,其中每個(gè)表示坐標(biāo)(i,ai)處的點(diǎn)。 繪制n條垂直線,使得線i的兩個(gè)端點(diǎn)在(i,ai)和(i,0)處。 找到兩條線,它們與x軸一起形成一個(gè)容器,使得容器...

    luckyw 評(píng)論0 收藏0
  • redis安裝&&redis集群

    摘要:數(shù)據(jù)過期處理可以精確到毫秒的安裝及部署部署環(huán)境需要系統(tǒng),同樣也有版本,可以練習(xí)使用。官方不典型支持。關(guān)閉進(jìn)程正常關(guān)閉服務(wù)的地址端口號(hào)如果是本地服務(wù),而且端口是這些參數(shù)可以省略。命令可以設(shè)置的有效期。修改端口,允許集群。 NoSql數(shù)據(jù)庫(kù)之Redis1、什么是nosql,nosql的應(yīng)用場(chǎng)景2、Nonsql數(shù)據(jù)庫(kù)的類型a) Key-valueb) 文檔型(類似于json)c) 列式存儲(chǔ)d...

    岳光 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<