📜  字符串练习题(1)

📅  最后修改于: 2023-12-03 15:09:22.150000             🧑  作者: Mango

字符串练习题

字符串是编程中常用的数据类型之一,掌握字符串的操作是非常重要的。本文将介绍一些常见的字符串练习题,供程序员练习和巩固。

题目
  1. 反转字符串
  2. 判断回文字符串
  3. 统计字符串中出现次数最多的字符及其出现次数
  4. 删除字符串中指定的字符
  5. 将字符串按单词反转
1. 反转字符串

题目描述:给定一个字符串,将其反转。

示例输入:hello world

示例输出:dlrow olleh

def reverse_string(s: str) -> str:
    return s[::-1]

解析:使用切片操作即可反转字符串。

2. 判断回文字符串

题目描述:给定一个字符串,判断它是否为回文字符串。

示例输入:racecar

示例输出:True

def is_palindrome(s: str) -> bool:
    return s == s[::-1]

解析:使用切片操作将字符串反转,然后判断反转后的字符串和原字符串是否相等,相等则为回文字符串。

3. 统计字符串中出现次数最多的字符及其出现次数

题目描述:给定一个字符串,统计其中出现次数最多的字符及其出现次数。

示例输入: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

解析:使用一个字典记录每个字符出现的次数,然后遍历字典找到出现次数最多的字符。

4. 删除字符串中指定的字符

题目描述:给定一个字符串和指定字符,将该字符串中所有指定字符删除。

示例输入:hello worldl

示例输出:heo word

def remove_char(s: str, c: str) -> str:
    return s.replace(c, '')

解析:使用字符串的 replace() 方法将所有指定字符替换为空即可。

5. 将字符串按单词反转

题目描述:给定一个由多个单词组成的字符串,将其按单词反转。

示例输入:hello world

示例输出:world hello

def reverse_words(s: str) -> str:
    return ' '.join(reversed(s.split()))

解析:使用 split() 方法将字符串按空格分割成单词,然后反转单词列表并使用 join() 方法连接单词即可。