class Solution {
public:
string removeStars(string s) {
}
};
2390. 从字符串中移除星号
给你一个包含若干星号 *
的字符串 s
。
在一步操作中,你可以:
s
中的一个星号。返回移除 所有 星号之后的字符串。
注意:
示例 1:
输入:s = "leet**cod*e" 输出:"lecoe" 解释:从左到右执行移除操作: - 距离第 1 个星号最近的字符是 "leet**cod*e" 中的 't' ,s 变为 "lee*cod*e" 。 - 距离第 2 个星号最近的字符是 "lee*cod*e" 中的 'e' ,s 变为 "lecod*e" 。 - 距离第 3 个星号最近的字符是 "lecod*e" 中的 'd' ,s 变为 "lecoe" 。 不存在其他星号,返回 "lecoe" 。
示例 2:
输入:s = "erase*****" 输出:"" 解释:整个字符串都会被移除,所以返回空字符串。
提示:
1 <= s.length <= 105
s
由小写英文字母和星号 *
组成s
可以执行上述操作原站题解
php 解法, 执行用时: 147 ms, 内存消耗: 26.5 MB, 提交时间: 2024-09-14 09:26:18
class Solution { /** * @param String $s * @return String */ function removeStars($s) { $st = []; foreach ( str_split($s) as $c ) { if ( $c == '*' ) { array_pop($st); } else { $st[] = $c; } } return implode('', $st); } }
rust 解法, 执行用时: 3 ms, 内存消耗: 2.4 MB, 提交时间: 2024-09-14 09:24:37
impl Solution { pub fn remove_stars(s: String) -> String { let mut st = vec![]; for c in s.bytes() { if c == b'*' { st.pop(); } else { st.push(c); } } unsafe { String::from_utf8_unchecked(st) } } }
javascript 解法, 执行用时: 96 ms, 内存消耗: 62.4 MB, 提交时间: 2024-09-14 09:24:24
/** * @param {string} s * @return {string} */ var removeStars = function(s) { const st = []; for (const c of s) { if (c === '*') { st.pop(); } else { st.push(c); } } return st.join(''); };
cpp 解法, 执行用时: 98 ms, 内存消耗: 26.7 MB, 提交时间: 2024-09-14 09:24:09
class Solution { public: string removeStars(string s) { string st; for (char c : s) { if (c == '*') { st.pop_back(); } else { st += c; } } return st; } };
java 解法, 执行用时: 31 ms, 内存消耗: 44.7 MB, 提交时间: 2024-09-14 09:23:56
class Solution { public String removeStars(String s) { StringBuilder st = new StringBuilder(); for (char c : s.toCharArray()) { if (c == '*') { st.deleteCharAt(st.length() - 1); } else { st.append(c); } } return st.toString(); } }
golang 解法, 执行用时: 28 ms, 内存消耗: 6.6 MB, 提交时间: 2022-11-18 15:15:59
func removeStars(s string) string { st := []rune{} for _, c := range s { if c == '*' { st = st[:len(st)-1] } else { st = append(st, c) } } return string(st) }
python3 解法, 执行用时: 224 ms, 内存消耗: 16.3 MB, 提交时间: 2022-11-18 15:15:28
class Solution: def removeStars(self, s: str) -> str: st = [] for c in s: if c == '*': st.pop() else: st.append(c) return ''.join(st)