C++寻找

字符串操作里头有个挺经典的面试题,叫寻找不含重复字符的最长子串。用得上滑动窗口那一套,逻辑清晰,写起来还蛮爽的。思路就像扫地毯:你右边往前推,一碰到重复的,左边收回来,整个过程就保持一个无重复的“窗口”,顺带记录最大长度,完事儿。

如果你是用C++写,哈希集合std::unordered_set就挺好用,搭配两个指针走一走,效率也不错。像下面这段代码,简单明了,面试时候也容易解释:

#include 
#include 

int lengthOfLongestSubstring(std::string s) { int left = 0, max_len = 0; std::unordered_set char_set; for (int right = 0; right < s xss=removed>

想多看点字符串玩法的话,最大公共子串也挺有意思;或者去除冗余字符这种清洗类的,也常见。

如果你在刷题,建议这个问题用滑动窗口练熟了,对后面那些子串题、窗口类题目都有。写得顺了,也能当模板直接套。

rar 文件大小:776B