• 剑指offer-字符串总结




    前言

    在写字符串类型题目时经常使用的一些String的API
    在这里插入图片描述


    题型

    • 双指针
      1、统计两个指针之间的字符出现的次数总概括
      2、变位词本质在该字符串中每个字符出现的次数都是一次—符合使用双指针进行求解,双指针配置hash表去记录出现的次数(剑指offer14、15
      3、统计字符出现的次数(剑指offer16[这题就是判断不重复的最长字符串长度])----不重复就是每个字符出现一次,使用双指针和hash表去统计就行了

    • 回文串
      aba,黄山落叶松叶落山黄;诸如此类的一些正着读和反着多都是一样的自负串,统一称为回文串
      1、这种题较为简单,直接使用头尾双指针的方式就能够解决
      2、注意一点就是熟练使用字符串中的一些API


    方法

    1、双指针,滑动窗口
    2、头尾双指针
    3、有些题目需要配合hash表进行统计出现的次数


    总结

    转载剑指
    本章详细讨论了字符串及其相关的典型面试题。字符串是编程面试中经常出现的数据类型,熟练掌握字符串常用操作对应的函数是解决字符串面试题的前提。变位词和回文是很有意思的文字游戏,在与字符串相关的算法面试题中,它们出现的频率很高。如果两个字符串包含的字符及每个字符出现的次数都相同,只是字符出现的顺序不同,那么它们就是一组变位词。通常可以用一个哈希表来统计每个字符出现的次数,有了哈希表就很容易判断两个字符串是不是一组变位词。回文是一类特殊的字符串。不管是从前往后还是从后往前读取其每一个字符,得到的内容都是一样的。通常可以用两个指针来判断一个字符串是不是回文,要么两个指针从字符串的两端开始向中间移动,要么两个指针从中间开始向两端移动。

  • 相关阅读:
    【 OpenGauss源码学习 —— 列存储(analyze)(三)】
    使用MASA Blazor开发一个标准的查询表格页
    使用shared lib将各个构建工具集成到一起
    【c++刷题Day2】专题2线性DP
    python在容器内克隆拉取git私有仓库
    几道ctf 命令注入题目的解法
    spice Link过程分析
    VS Code下利用Cmake开发C++-单文件
    十三、Mysql的存储引擎
    离散数学·图的矩阵表示、平面图
  • 原文地址:https://blog.csdn.net/weixin_46643875/article/details/126325985