📅  最后修改于: 2023-12-03 15:09:22.150000             🧑  作者: Mango
字符串是编程中常用的数据类型之一,掌握字符串的操作是非常重要的。本文将介绍一些常见的字符串练习题,供程序员练习和巩固。
题目描述:给定一个字符串,将其反转。
示例输入:hello world
示例输出:dlrow olleh
def reverse_string(s: str) -> str:
return s[::-1]
解析:使用切片操作即可反转字符串。
题目描述:给定一个字符串,判断它是否为回文字符串。
示例输入:racecar
示例输出:True
def is_palindrome(s: str) -> bool:
return s == s[::-1]
解析:使用切片操作将字符串反转,然后判断反转后的字符串和原字符串是否相等,相等则为回文字符串。
题目描述:给定一个字符串,统计其中出现次数最多的字符及其出现次数。
示例输入:abbcccddddeeeee
示例输出:('e', 5)
def most_common_char(s: str) -> tuple:
count = {}
for c in s:
if c in count:
count[c] += 1
else:
count[c] = 1
max_count = max(count.values())
for k, v in count.items():
if v == max_count:
return k, v
解析:使用一个字典记录每个字符出现的次数,然后遍历字典找到出现次数最多的字符。
题目描述:给定一个字符串和指定字符,将该字符串中所有指定字符删除。
示例输入:hello world
,l
示例输出:heo word
def remove_char(s: str, c: str) -> str:
return s.replace(c, '')
解析:使用字符串的 replace()
方法将所有指定字符替换为空即可。
题目描述:给定一个由多个单词组成的字符串,将其按单词反转。
示例输入:hello world
示例输出:world hello
def reverse_words(s: str) -> str:
return ' '.join(reversed(s.split()))
解析:使用 split()
方法将字符串按空格分割成单词,然后反转单词列表并使用 join()
方法连接单词即可。