# To retro

1 BFS DFS visited标记和数据处理顺序

2 图的对角线，反对角线的位置，坐标操作

3 bisect\_left vs bisect\_right

4 heapq.heappush(heap, element)

5 解析Json, 开关文件，锁

6 区间：合并sort by start, 区分sort by end

7 calculator ii

8 char.isalnum, char.lower()

9 前K个高频元素 :3种做法

***

有时候可以用res来做判断，比如按层级遍历树， 比如merge interval

BFS最短步数来自父，所以存状态时候记得一起存入步数
