題目描述:示例 1:
給定 s = 「324」,
你應該返回乙個 nestedinteger 物件,其中只包含整數值 324。
示例 2:
給定 s = 「[123,[456,[789]]]」,
返回乙個 nestedinteger 物件包含乙個有兩個元素的巢狀列表:
乙個 integer 包含值 123
乙個包含兩個元素的巢狀列表:
i. 乙個 integer 包含值 456
ii. 乙個包含乙個元素的巢狀列表
a. 乙個 integer 包含值 789
方法1:
主要思路:解題彙總
(1)使用棧來處理這種巢狀的情形;
(2)遍歷字串,當字元為 『[』 時,說明需要新增乙個nestedinterger;
(3)當字元為『,』時,若之前提取出了字串,則說明該字串可以轉化為乙個數字,並存入當前的nestedinterger;
(4)當字元為『 ] 』時,若之前提取出了字串,則該字元同樣需要轉化為乙個數字,並存入當前的nestedinterger中,同時判斷當前的棧中nestedinterger的個數是否大於1,若大於1,在需要將當前棧頂的nestedinterger取出,並合併到隨後的棧頂的nestedinterger中;
(5)其他的字元,在接入到臨時字串中;
/**
* // this is the inte***ce that allows for creating nested lists.
* // you should not implement it, or speculate about its implementation
* class nestedinteger ;
*/class
solution
if(s[0]
!='['
)//輔助棧
stack> st;
string str;
//輔助字串
for(
char
& ch:s)
else
if(ch==
']')
if(st.
size()
>1)
}else
if(ch==
',')
}else
}return
*st.
top();
//返回最終的合併後的nestedinterger}}
;
385 迷你語法分析器
給定乙個用字串表示的整數的巢狀列表,實現乙個解析它的語法分析器。列表中的每個元素只可能是整數或整數巢狀列表 字串非空 字串不包含空格 字串只包含數字0 9 示例 1 給定 s 324 你應該返回乙個 nestedinteger 物件,其中只包含整數值 324。示例 2 給定 s 123,456,78...
LeetCode 迷你語法分析器
給定乙個用字串表示的整數的巢狀列表,實現乙個解析它的語法分析器。列表中的每個元素只可能是整數或整數巢狀列表 你可以假定這些字串都是格式良好的 字串非空 字串不包含空格 字串只包含數字0 9,示例 1 給定 s 324 你應該返回乙個 nestedinteger 物件,其中只包含整數值 324。示例 ...
LR 語法分析器
lr語法分析器算是基本完成了,只需要乙個文法定義檔案 syntax 就可以進行對應語言的語法分析,最後形成語法樹。詞法分析是固定的,採用c 的詞法定義。以後將加入動態的詞法分析。壓縮包中檔案的描述 lrtable.exe 是用文法定義檔案 syntax檔案 生成lr動作表檔案 action檔案 使用...