演算法:比較含退格的字串
題目
給定 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字串
- python字串比較大小Python字串
- 字串比較的常用函式字串函式
- 字串大小寫轉換和字串的比較字串
- 字串拼接運算比較字串
- Java 字串比較、拼接問題Java字串
- 使用String. localeCompare比較字串字串
- Java字串建立方式比較Java字串
- JAVA中字串比較equals()和equalsIgnoreCase()的區別Java字串
- C#比較兩個字串的相似度【轉】C#字串
- Java中的字串操作(比較String,StringBuiler和StringBuffer)Java字串UI
- 排序演算法效能比較排序演算法
- 利用compareTo方法進行字串比較排序字串排序
- python如何比較兩個字串是否相等Python字串
- 常用的比較排序演算法總結排序演算法
- 簡單介紹Go 字串比較的實現示例Go字串
- 粒子群演算法和遺傳演算法的比較演算法
- 使用錯誤的運算子進行字串比較缺陷漏洞字串
- 共識演算法的比較:Casper vs Tendermint演算法
- 【C#】比較 Random 與 RandomNumberGenerator 生成隨機字串C#random隨機字串
- python3中怎麼比較字串是否相等Python字串
- 漏洞解析——通用異常缺陷及字串比較缺陷字串
- 初練演算法,比較演算法之美演算法
- 相容oracle的edit_distance_similarity 比較兩個字串相似度OracleMILA字串
- 三種高階比較排序演算法排序演算法
- Integer的比較
- js 深比較和淺比較JS
- Go和Python比較的話,哪個比較好?GoPython
- 集合類的比較
- 集合差異比較演算法及效能測試演算法
- 【演算法】GPLT - L1 - 比較大小(10分)演算法
- 記錄一次數字和字串比較時候犯的錯誤字串