之前看有一些辅导书说刷题要有框架思维,先从二叉树开始刷等等。但是现在觉得不能盲目模仿别人的经验,最好人还是得琢磨出自己的思考。于是乎有了这个初入茅庐的开坑贴。
今天大略浏览一下leetcode上面的题,目前凭个人的感受总结出了如下的思路步骤。
-
1.弄懂题目说的是什么意思(这个是最基础的,不解释了)
-
2.大致判断出这个题目数据是什么样的数据模型,比如是一对一,一对多还是多对多,提问针对的是哪一种数据结构(链表,树,还是图等等)
-
3.思考一下本题的数据结构都有哪些对应的算法可以用的上。比如图相对应的深度搜索和广度搜索,树对应的有中序遍历等等。
-
4.思考是否为某些特殊题型。
-
5.如果都不是,具体情况具体分析,一般可以直接灵活得出结论。
当然没必要被这种总结所束缚住,只是提供给自己一个普适性的套路。