当前位置: 面试刷题>> 移除子串 (经典算法题500道)


### 完整题目描述 **题目**:移除子串 **描述**:给定一个字符串`s`和一个子串`t`,请编写一个函数,从字符串`s`中移除所有出现的子串`t`,并返回移除后的结果字符串。注意,移除时需要考虑子串`t`在`s`中的重叠情况。 **示例**: - 输入:`s = "helloworld", t = "ll"` - 输出:`"heoword"` **说明**:在这个例子中,`s`中包含两个`t`("ll"),移除这两个子串后得到`"heoword"`。 ### 示例代码 #### PHP ```php function removeSubstring($s, $t) { $len_s = strlen($s); $len_t = strlen($t); $result = ''; $i = 0; while ($i < $len_s) { if (substr($s, $i, $len_t) == $t) { $i += $len_t; // 跳过当前子串 } else { $result .= $s[$i]; // 否则,将字符添加到结果字符串 $i++; } } return $result; } // 示例 $s = "helloworld"; $t = "ll"; echo removeSubstring($s, $t); // 输出: heoword ``` #### Python ```python def removeSubstring(s, t): i = 0 result = [] while i < len(s): if s[i:i+len(t)] == t: i += len(t) else: result.append(s[i]) i += 1 return ''.join(result) # 示例 s = "helloworld" t = "ll" print(removeSubstring(s, t)) # 输出: heoword ``` #### JavaScript ```javascript function removeSubstring(s, t) { let result = ''; let i = 0; while (i < s.length) { if (s.substr(i, t.length) === t) { i += t.length; // 跳过当前子串 } else { result += s[i]; // 否则,将字符添加到结果字符串 i++; } } return result; } // 示例 let s = "helloworld"; let t = "ll"; console.log(removeSubstring(s, t)); // 输出: heoword ``` **码小课网站中有更多相关内容分享给大家学习**,希望这些示例能帮助你更好地理解题目并编写出相应的算法。
推荐面试题