演算法:比較含退格的字串
題目
給定 S 和 T 兩個字串,其中,#表示退格符,也就是向前刪除一個字元。
判斷 S 和 T 是否相同。
思路
1,遍歷兩個字串,遇到非#,則加入一個佇列,遇到#,則從佇列尾部刪除一個元素。
2,最後比較兩個佇列的元素是否相同
程式碼
class Solution {
public boolean backspaceCompare(String S, String T) {
int lenS = S.length();
int lenT = T.length();
S+="a";
T+="a";
// String s = new String("");
LinkedList<Character> s = new LinkedList<Character>();
for (int i=0;i<lenS;i++){
if (S.charAt(i)!='#'){
s.addLast(S.charAt(i));
}else{
if (!s.isEmpty())
s.pollLast();
}
}
// String t = new String("");
LinkedList<Character> t = new LinkedList<Character>();
for (int i=0;i<lenT;i++){
if (T.charAt(i)!='#'){
t.addLast(T.charAt(i));
}else{
if (!t.isEmpty())
t.pollLast();
}
}
return s.equals(t);
}
}
相關文章
- 844. 比較含退格的字串字串
- LeetCode -844. 比較含退格的字串(棧、雙指標)LeetCode字串指標
- leetcode刷題844-比較含退格的字串(帶程式碼解析,帶知識點回顧)LeetCode字串
- 字串比較字串
- 字串-簡單字串比較字串
- 比較字串和數字串字串
- PHP比較字串PHP字串
- JAVA字串比較Java字串
- shell 下的字串比較字串
- oracle中字串的大小比較,字串與數字的比較和運算Oracle字串
- Java™ 教程(比較字串和字串的部分)Java字串
- 比較字串和數字串(續)字串
- 一個字串比較的題字串
- 字串比較的常用函式字串函式
- Delphi中字串比較大小 VS Oracle-SQL中字串比較大小字串OracleSQL
- 字串大小寫轉換和字串的比較字串
- python字串比較大小Python字串
- 字串拼接運算比較字串
- JavaScript字串如何比較大小JavaScript字串
- LintCode 字串比較字串
- 16:忽略大小寫的字串比較字串
- Java 字串比較、拼接問題Java字串
- Java字串建立方式比較Java字串
- JavaScript 字串連線效能比較JavaScript字串
- Pythondifflib字串比較指令碼Python字串指令碼
- shell比較兩個字串是否相等字串
- VC 中字串比較和查詢字串
- 排序演算法效能比較排序演算法
- C#比較兩個字串的相似度【轉】C#字串
- 使用String. localeCompare比較字串字串
- 一篇比較好的文章---JS中的prototype的含義JS
- 常用的比較排序演算法總結排序演算法
- JAVA中字串比較equals()和equalsIgnoreCase()的區別Java字串
- 簡單介紹Go 字串比較的實現示例Go字串
- python如何比較兩個字串是否相等Python字串
- 利用compareTo方法進行字串比較排序字串排序
- shell下數字和字串比較操作命令字串
- 粒子群演算法和遺傳演算法的比較演算法