别小看“字母异位词”:一道入门题,藏着算法最重要的基本功
作者:Echo_Wish
说实话,这道「有效的字母异位词(Valid Anagram)」,我第一次看到的时候,心里是有点不屑的。
“不就是数个字符吗?这也叫算法题?”
直到后来我带新人、做面试官、看代码评审,才慢慢意识到一件事:
这道题,不是考你会不会写,而是考你有没有“算法基本功”。
今天这篇文章,我不打算把它当一道“刷题水题”来讲,而是想站在一个老算法工程师 + 老写文章的角度,跟你聊聊:
- 这道题为什么经典
- 常见解法背后的取舍
- 以及它真正想训练你的东西是什么
一、先把题目说清楚(人话版)
题目很简单:
给你两个字符串
s和t,判断t是不是s的字母异位词。
什么叫字母异位词?
- 字母种类相同
- 每个字母出现次数相同
- 顺序可以不一样
举几个例子:
"anagram"和