表示式s,只包含數字字母以及方括號,該表示式有如下規則:數字只會出現在方括號之前,它表示方括號裡內容的重複次數
按上述規則展開字串
示例1
e3[2[abc]gh]
eabcabcghabcabcghabcabcgh
示例2e9[xyz]
exyzxyzxyzxyzxyzxyzxyzxyzxyz
示例3e3[a2[abc]gh]
eaabcabcghaabcabcghaabcabcgh
#include #include #include #include #include using namespace std;
/* 遍歷字串s
遇到'['以及字母入棧
遇到數字則先入棧乙個'*',用於分割這個括號左邊的子串與右邊的子串
遇到']'則先將']'之前的字母取出並倒序,然後鏈結到答案右邊 再按重複規則重複 再將*之前的字母取出倒序鏈結到答案左邊(這裡不重複左邊是因為不包含在括號內)
*///./test e9[xyz] e3[a2[abc]gh] e3[2[abc]gh]
int main()
} while(!t.empty())
cout << ans <} return 0;
}
編碼和解碼字串
設計乙個將字串列表編碼為字串的演算法。已經編碼的字串之後會通過網路傳送同時也會被解碼回到原始的字串列表。請實現encode和decode 樣例1 輸入 lint code love you 輸出 lint code love you 解釋 一種可能的編碼方式為 lint code love you ...
網易2018 解碼字串
解碼字串 c 時間限制 c c 語言1000ms 其他語言3000ms 記憶體限制 c c 語言65536kb 其他語言589824kb 題目描述 給出乙個表示式s,該表示式只包括數字 字母及方括號這三種元素。該表示式具有如下規則 數字只會出現在方括號前,它表示方括號內容的重複次數,方括號中的內容可...
880 索引處的解碼字串
給定乙個編碼字串s。為了找出解碼字串並將其寫入磁帶,從編碼字串中每次讀取乙個字元,並採取以下步驟 現在,對於給定的編碼字串s和索引k,查詢並返回解碼字串中的第k個字母。示例 1 輸入 s leet2code3 k 10輸出 o 解釋 解碼後的字串為 leetleetcodeleetleetcodel...