Leetcode刷题指南 附JAVA版答案/题解

Leetcode JAVA 题解: https://github.com/mJackie/leetcode
自己日常刷题经过是这样的:

  1. 拿到题目,看一眼Difficulty,然后自己思考一下解题思路。如果解不出来,就记下在哪里卡住了,难点在哪。
  2. 如果对应的题目有Solution,就看Solution,没有的话就点Discuss,按Most Votes排序,看排名最高的解法。
  3. 对比一下自己的解法与最优的解法的差别,总结一下为什么没想起来,记录下来这个思考的过程。
  4. 关掉别人的代码,开始Coding,Debug,Submit。

附上自己总结的几条经验:

  • 先刷两个Top专题。Leetcode 上有个List选项,里边有两个专题,分别是Top 100 Liked QuestionsTop Interview Questions。这两个List中有很多重复的题,加起来一共150道左右。都是经典的题目,将这150道刷完基本上所有的题型都见过了,而且多数经典题目都会涉及,是提升最快的一个方法。

  • 注意记录、总结与复习。自己写过的代码一定要保存下来,刷题的时候也要记下主要思路和注意点,这样在复习的时候也能对比发现自己哪里还能改进,之前犯得错误有没有重犯。可以将相互关联的题目对比着一起看,方便总结与记忆。一定要时常复习刷过的题,复习比一味的追求数量更重要。

  • 做好Easy,没必要死扣Hard。LeetCode上很多Easy的题目看似简单,实则想要写出Perfect的代码并非易事。多思考如何优化Easy,Medium的解法实际上比花精力解Hard题更能提高自己。况且面试的时候Hard被问的概率太小了。

  • 切忌眼高手低。不要想着自己知道思路解法了就是会了,一定要亲自Coding,手撸出来。我在刷的过程中就经常在Debug的时候才发现自己忘记考虑了某些条件。不把代码写出来,只看别人的答案对自己是没有多大的提高的,只有亲自AC了题目,才能算做过一道题。

最后附上我的刷题仓库,欢迎Start https://github.com/mJackie/leetcode

你可能感兴趣的:(Leetcode刷题指南 附JAVA版答案/题解)