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();
}
}
結果:
相關文章
- 字串-刪除指定字元字串字元
- JavaScript 刪除重複字元JavaScript字元
- JavaScript 刪除字串重複字元JavaScript字串字元
- JavaScript 刪除字串中所有指定字元JavaScript字串字元
- JavaScript刪除字串中所有指定字元JavaScript字串字元
- JavaScript刪除字串中的指定字元JavaScript字串字元
- JavaScript刪除字串中重複字元JavaScript字串字元
- python如何刪除字串的特殊字元Python字串字元
- 第3章-17 刪除字元 (30分)字元
- e語音 【刪除文字右邊字元】字元
- Python刪除列表中的非字母字元Python字元
- C#刪除字串最後一個字元C#字串字元
- 刪除_JAVA_OPTIONSJava
- Python字串刪除第一個字元常用的方法!Python字串字元
- Python如何刪除字串中多餘空白字元?Python字串字元
- Linux下刪除亂碼或特殊字元檔案Linux字元
- Java拼接字串時,去掉最後一個多餘的逗號,或者Java刪除某個字元Java字串字元
- 2.刪除字串中的某個字元。(藉助字元陣列實現)字串字元陣列
- Java在PDF中刪除註釋Java
- linux|批量建立檔案、資料夾或刪除——萬用字元Linux字元
- Java基礎-理解紅黑樹(刪除)Java
- 重構 001 - 刪除Java的Setter方法Java
- leetcode 5562. 字元頻次唯一的最小刪除次數(C++)LeetCode字元C++
- php(js)批量刪除/單個刪除PHPJS
- leetcode 944. 刪除列以使之有序(java)LeetCodeJava
- Java-二叉排序樹的刪除Java排序
- 工作293:調節刪除順序刪除
- 在Linux中,有一個檔案,如何刪除包含“www“字樣的字元?Linux字元
- (已刪除)
- mysql刪除主鍵索引,刪除索引語法MySql索引
- iOS 多選刪除(附tableViewTips及單選刪除)iOSView
- 使用Java Stream API中DistinctBy刪除重複資料JavaAPI
- 【Java】增強for迴圈,三種迭代的能否刪除Java
- Java後端--29--Mybatis的更新和刪除操作Java後端MyBatis
- 級聯刪除
- Elasticsearch 刪除文件Elasticsearch
- JavaScript 刪除cookieJavaScriptCookie
- 修改刪除表