Open yankewei opened 2 years ago
可以直接根据题意模拟即可
class Solution {
/**
* @param String $s
* @return String
*/
function removeStars($s) {
while (true) {
$str_pos = strpos($s, "*");
if ($str_pos === 0) {
$s = substr($s, 1);
}
if ($str_pos === false) {
break;
}
$s = substr($s, 0, $str_pos-1) . substr($s, $str_pos+1);
}
return $s;
}
}
看到了移除左侧字符,可以联想到用栈的概念
class Solution {
/**
* @param String $s
* @return String
*/
function removeStars($s) {
$stack = [];
for ($i = 0; $i < strlen($s); $i++) {
$s[$i] !== "*" ? array_push($stack, $s[$i]) : array_pop($stack);
}
return implode('', $stack);
}
}
给你一个包含若干星号
*
的字符串s
。在一步操作中,你可以:
s
中的一个星号。注意:
示例 1:
示例 2:
提示:
来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/removing-stars-from-a-string 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。