535 字
3 分钟
代码随想录算法训练营第七天 | 字符串 Part01

字符串基础#

  • 字符串是字符的序列,通常用于表示文本数据。
  • 在 Python 中,字符串是不可变的(immutable),一旦创建就不能修改。

字符串相关操作#

  • 字符串一旦创建后,不能直接修改其中的字符,一般会先将字符串转换为列表,进行修改后再转换回字符串。
    • 例如,使用 list() 函数将字符串转换为列表,修改后使用 ''.join() 方法将列表转换回字符串。
  • 当判断字符串是否包含某个子串时,可以使用 in 关键字。
  • 当判断字符串中某个字符是否为数字或字母时,可以使用 str.isdigit()str.isalpha() 方法。

344. 反转字符串#

LeetCode 344. 反转字符串

class Solution:
# 使用双指针方法,交换首尾字符,逐步向中间靠拢
def reverseString(self, s: List[str]) -> None:
left, right = 0, len(s) - 1
while left < right:
# 交换左右字符
s[left], s[right] = s[right], s[left]
left += 1
right -= 1
return s # 虽然题目为原地修改,但返回值方便测试

541. 反转字符串 II#

LeetCode 541. 反转字符串 II

class Solution:
def reverseStr(self, s: str, k: int) -> str:
# 将字符串转换成列表以便修改
s = list(s)
# 每2k个字符为一组,反转前k个字符
for i in range(0, len(s), 2 * k):
# 判断剩余字符是否大于k,决定反转范围
if i + k <= len(s):
s = self.reverse(s, i, i + k - 1)
else:
s = self.reverse(s, i, len(s) - 1)
# 将列表重新转换为字符串返回
return ''.join(s)
# 工具函数:反转字符串s在[left, right]区间的字符
def reverse(self, s: List[str], left: int, right: int) -> List[str]:
while left < right:
s[left], s[right] = s[right], s[left]
left += 1
right -= 1
return s

卡码网:54. 替换数字#

卡码网 54. 替换数字

import sys
input = sys.stdin.read
def main():
# 读取整段输入并去除首尾空白符
data = input().strip()
s = data
res = []
for char in s:
# 判断字符是否为数字,如果是则替换为字符串 "number"
if char.isdigit():
res.append("number")
else:
res.append(char)
# 将列表拼接成字符串并输出
print(''.join(res))
if __name__ == "__main__":
main()
代码随想录算法训练营第七天 | 字符串 Part01
https://fuwari.vercel.app/posts/code_musings_day_seven/
作者
Jarrett
发布于
2025-06-18
许可协议
CC BY-NC-SA 4.0