535 字
3 分钟
代码随想录算法训练营第七天 | 字符串 Part01
字符串基础
- 字符串是字符的序列,通常用于表示文本数据。
- 在 Python 中,字符串是不可变的(immutable),一旦创建就不能修改。
字符串相关操作
- 字符串一旦创建后,不能直接修改其中的字符,一般会先将字符串转换为列表,进行修改后再转换回字符串。
- 例如,使用
list()
函数将字符串转换为列表,修改后使用''.join()
方法将列表转换回字符串。
- 例如,使用
- 当判断字符串是否包含某个子串时,可以使用
in
关键字。 - 当判断字符串中某个字符是否为数字或字母时,可以使用
str.isdigit()
和str.isalpha()
方法。
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
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. 替换数字
import sysinput = 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/