LintCode 1905. 字元刪除 Java
題目描述
輸入兩個字串,從第一字串中刪除第二個字串中所有的字元
樣例 1:
輸入: str=”They are students”,sub=”aeiou”
輸出: ”Thy r stdnts”
注意事項
String contains spaces(包含空格)
1 ≤ len(str),len(sub) ≤105
思路+程式碼
第一反應就是雙迴圈遍歷,但是根據提示的長度,感覺會很費時間甚至超時,
所以空間換時間,用一個hash陣列記錄要刪除的字元(對應的ASCII碼)。遍歷原字串,把不刪的字元拼成一個新字串返回。
public class Solution {
/**
* @param str: The first string given
* @param sub: The given second string
* @return: Returns the deleted string
*/
public String CharacterDeletion(String str, String sub) {
//hash陣列
int[] res = new int[10000];
//StringBuilder的拼接速度快
StringBuilder sb = new StringBuilder();
//記錄刪除的字元
for (int i = 0; i < sub.length(); i++) {
res[sub.charAt(i)] ++;
}
//拼接字串
for (int i = 0; i < str.length(); i++) {
if(res[str.charAt(i)]>0){
continue;
}else{
sb.append(str.charAt(i));
}
}
//返回新字串
return sb.toString();
}
}
結果:
相關文章
- LintCode 刪除數字
- 字串-刪除指定字元字串字元
- JavaScript 刪除重複字元JavaScript字元
- JavaScript 刪除字串重複字元JavaScript字串字元
- 刪除字元;及interleave字串分析字元字串
- JavaScript刪除字串中重複字元JavaScript字串字元
- JavaScript刪除字串中所有指定字元JavaScript字串字元
- JavaScript 刪除字串中所有指定字元JavaScript字串字元
- JavaScript刪除字串中的指定字元JavaScript字串字元
- 迴文分割;及刪除字元分析字元
- python如何刪除字串的特殊字元Python字串字元
- 第3章-17 刪除字元 (30分)字元
- JavaScript刪除字串中重複的字元JavaScript字串字元
- js刪除字串的第一個字元JS字串字元
- e語音 【刪除文字右邊字元】字元
- 點選退格鍵刪除整個單詞而不是逐個字元刪除字元
- 刪除_JAVA_OPTIONSJava
- Python刪除列表中的非字母字元Python字元
- C#刪除字串最後一個字元C#字串字元
- Swift3.0語言教程刪除字元與處理字元編碼Swift字元
- javascript刪除字串重複字元程式碼例項JavaScript字串字元
- javascript刪除字串中的最後一個字元JavaScript字串字元
- Java Spring刪除cookieJavaSpringCookie
- Java拼接字串時,去掉最後一個多餘的逗號,或者Java刪除某個字元Java字串字元
- LintCode 刪除排序連結串列中的重複數字 II排序
- 2.刪除字串中的某個字元。(藉助字元陣列實現)字串字元陣列
- Linux下刪除亂碼或特殊字元檔案Linux字元
- Python字串刪除第一個字元常用的方法!Python字串字元
- Python如何刪除字串中多餘空白字元?Python字串字元
- lintcode 萬用字元匹配 ac程式碼字元C程式
- JS 刪除字串最後一個字元的幾種方法JS字串字元
- js刪除字串中最後一個字元程式碼例項JS字串字元
- 華為機試題-刪除出現次數最少的字元字元
- STUFF 刪除指定長度的字元並在指定的起始點插入另一組字元。字元
- Java在PDF中刪除註釋Java
- Java ArrayList刪除特定元素的方法Java
- 【劍指offer】刪除在另一個字串中出現的字元字串字元
- Java基礎-理解紅黑樹(刪除)Java