5.19 - Stacks and Queues
k[encoded_string] 的編碼字符串,將編碼的字符重復(fù)k次,最后打印出一個(gè)完整的字符串。
 思路:使用棧結(jié)構(gòu),由里層向外層,層層解碼,當(dāng)遇到了[ 字符時(shí),向stack當(dāng)中添加元素,當(dāng)遇到了]字符時(shí),將stack當(dāng)中的元素pop() 出來。
 Q: 重復(fù)的數(shù)字k如何處理? 用一個(gè) 直接用一個(gè)命令將字符串復(fù)制k次?
 Q: 如何構(gòu)建一個(gè)新的字符串? String builder ?
Simplify Path
 題目描述: 給出一個(gè)絕對(duì)路徑,返回一個(gè)相對(duì)路徑
 Corner Case: 1.空路徑返回 / 2.忽略重復(fù)的/ 符號(hào)
 思路 只需要找到最后的一個(gè) / 將這個(gè)/后面跟隨的字符返回?
 字符串的處理,暫時(shí)跳過
算法課上提到過的一個(gè)使用兩個(gè)棧結(jié)構(gòu)的算法 Arithmetic expression evaluation
步驟:
創(chuàng)建兩個(gè)棧,一個(gè)數(shù)值棧存value值,一個(gè)符號(hào)棧存operator,
 2.讀取字符串 對(duì)于左括號(hào),不處理,對(duì)于右括號(hào),從符號(hào)棧中pop出一個(gè)符號(hào),從數(shù)值棧中pop出兩個(gè)元素,將兩個(gè)元素根據(jù)pop出的符號(hào)做操作,并將結(jié)果返回到
 數(shù)值棧當(dāng)中。
Q1: 如何判斷一個(gè)c 是否是數(shù)字?
 A: Character.isDigit(c).
 Q2: operator 字符如何轉(zhuǎn)變成真正的操作符?
Q3:
轉(zhuǎn)載于:https://www.cnblogs.com/kong-xy/p/9062349.html
總結(jié)
以上是生活随笔為你收集整理的5.19 - Stacks and Queues的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: Android 基于注解IOC组件化/模
 - 下一篇: python 将图片旋转多个角度_【技术