看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《Aligu1009 (=.=)》之銘言: : URL中的"%"符號及其後面的兩個字元可以代表某些特殊符號 : 如:"%20"代表空白" " : 若給予 "%??" 與其代表的值的對應 : 請寫出一個程式能decode url : 這個題目比較複雜的地方在於下面這種狀況: : 假設"%ab"代表"2" : 則"%%ab0"會先decode成"%20", 再decode成" " 傳統學校資料結構可能有個作業是簡單的 + - * / 計算. 先把輸入的式子放到後序式,然後從後序式的頭開始掃描, 遇到運算元就丟進堆疊,遇到運算子就消耗堆疊. 你這個題目是反過來,做一個前序式. 每個運算子 % 對應一個運算元. 可以從頭掃描,遇到 % 就放進堆疊,遇到運算元就取適當的長度 (通常longest match) 然後消耗堆疊. 不過都是 % 放進堆疊沒什麼意思, % 的處理可以用一個變數 記錄儲存數目就好. 消耗掉一個堆疊的 %, 就把結果放回輸入字串的前端. 不過要處理消耗出來的結果也是 % 該怎麼辦. 計算出 % 是要跳過的. 也就是如果求出一個 %, 就不要放回輸入字串前端. 這樣應該可以吧. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.112.229.203 ※ 編輯: yauhh 來自: 59.112.229.203 (10/16 10:59)