LeetCode 604. 迭代压缩字符串
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 604. 迭代压缩字符串
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
對于一個壓縮字符串,設計一個數據結構,它支持如下兩種操作: next 和 hasNext。
給定的壓縮字符串格式為:每個字母后面緊跟一個正整數,這個整數表示該字母在解壓后的字符串里連續出現的次數。
- next() - 如果壓縮字符串仍然有字母未被解壓,則返回下一個字母,否則返回一個空格。
- hasNext() - 判斷是否還有字母仍然沒被解壓。
注意:
請記得將你的類在 StringIterator 中 初始化 ,因為靜態變量或類變量在多組測試數據中不會被自動清空。更多細節請訪問 這里 。
2. 解題
class StringIterator {string s;char cur;int count = 0, idx = 0; public:StringIterator(string compressedString) {s = compressedString;}char next() {if(!hasNext()) return ' ';if(count>0){count--;return cur;}else//count=0{cur = s[idx];idx++;while(idx < s.size() && isdigit(s[idx]))count = count*10+(s[idx++]-'0');count--;//用掉了一個return cur;}}bool hasNext() {return idx < s.size()||count;} };20 ms 13.3 MB
長按或掃碼關注我的公眾號,一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode 604. 迭代压缩字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1430. 判断给定的
- 下一篇: LeetCode 68. 文本左右对齐(