C++处理字符串

以下是一些关于C++字符串处理的题目,可以帮助你练习和提高字符串处理的能力。这些题目涵盖了不同的难度层次,包括基本操作、高级操作和算法实现。

基础题目

  1. 字符串长度
    编写一个函数,输入一个字符串,输出其长度。

  2. 字符串反转
    编写一个函数,输入一个字符串,输出其反转后的字符串。
    示例:

    1
    2
    输入: "hello"
    输出: "olleh"
  3. 字符串比较
    编写一个函数,比较两个字符串是否相等。要求不得使用C++自带的字符串比较函数。
    示例:

    1
    2
    输入: "abc", "abc"
    输出: true
  4. 统计字符串中的字符个数
    编写一个程序,输入一个字符串,统计并输出每个字符出现的次数。
    示例:

    1
    2
    输入: "hello"
    输出: h:1, e:1, l:2, o:1
  5. 大写字母转小写
    编写一个函数,输入一个字符串,将其中的大写字母转换为小写字母。
    示例:

    1
    2
    输入: "HeLLo"
    输出: "hello"

进阶题目

  1. 查找子串
    编写一个函数,判断一个字符串是否包含另一个子串,若包含,返回子串在主串中的起始位置;否则返回 -1。
    示例:

    1
    2
    输入: "hello", "ll"
    输出: 2
  2. 字符串旋转
    编写一个函数,将字符串中的字符按给定步数进行循环右移。
    示例:

    1
    2
    输入: "abcdef", 2
    输出: "efabcd"
  3. 统计单词数量
    编写一个函数,统计一个字符串中单词的个数。假设单词之间用空格隔开。
    示例:

    1
    2
    输入: "hello world, how are you"
    输出: 5
  4. 删除特定字符
    编写一个程序,输入一个字符串,删除指定的字符。
    示例:

    1
    2
    输入: "hello world", 'l'
    输出: "heo word"
  5. 回文判断
    编写一个函数,判断输入的字符串是否为回文字符串(正读和反读相同)。
    示例:

    1
    2
    输入: "madam"
    输出: true

算法题目

  1. 最长公共前缀
    编写一个函数,输入一个字符串数组,返回数组中字符串的最长公共前缀。
    示例:

    1
    2
    输入: ["flower","flow","flight"]
    输出: "fl"
  2. 字符串压缩
    编写一个程序,将字符串中连续重复出现的字符用该字符加出现次数来压缩。
    示例:

    1
    2
    输入: "aabcccccaaa"
    输出: "a2b1c5a3"
  3. 最长不重复子串
    编写一个函数,找到一个字符串中最长的不含重复字符的子串,并返回其长度。
    示例:

    1
    2
    输入: "abcabcbb"
    输出: 3 ("abc")
  4. 字符串排列
    编写一个函数,打印输入字符串的所有排列组合。
    示例:

    1
    2
    输入: "abc"
    输出: "abc", "acb", "bac", "bca", "cab", "cba"
  5. 字符串中的第一个唯一字符
    编写一个程序,找到字符串中第一个不重复的字符,并返回它的索引。如果不存在,返回 -1。
    示例:

    1
    2
    输入: "leetcode"
    输出: 0

这些题目可以帮助你从基础到进阶全面掌握C++字符串处理的技能。你可以根据自己的掌握情况,从简单到复杂依次进行练习。

作者

Xiongyuqi

发布于

2024-09-24

更新于

2024-09-24

许可协议

评论