Several key features about this repo:
1. I try to maintain this repo to be as in sync with Leetcode official page possible. This includes latest problems, test case updates, etc.
2. I wrote different possible solutions in there and try to maintain detailed documentation possible to help people including myself to remember things.
3. I've written some handy utility functions, e.g. buildTree, printTree, printLinkedList, etc to help people visualize the code.
4. I force code style check to conform to Google Java code conventions. Your PR will fail the build if it does not follow.
5. I've listed out everything important related to one question: including Difficulty level, Time and Space Complexity, different possible solutions and pros and cons.
6. Continuous build with this repo, all check-ins will have to go through all unit tests and style check and ensure everything works.
7. I've broken all problems into different categories following Leetcode's idea, e.g. Algorithms, Database, Shell, etc.
8. It's IDE friendly, I write everything in Intellij, but it's also ok in Eclipse. I think this is esp. important when you need to debug something, like a DFS or a backtracking call, or a Stack issue, set up a break point and single step through your program might be the most efficient way to root cause it. After fork/clone this repo, you could fire up your IDE and run the programs happily in your local machine! Here's the screenshot:
[Looks like the images are NOT properly loaded? Can someone help me have the images displayed here please?]
Here's the two links to my images:
More details please see my repo.
We're programmers, so, "talk is cheap, show me the code!" ^ ^
A little bit about me:
I graduated with an MS degree in CS in Dec.2014 from a public university (ranked #29: https://www.usnews.com/best-grad ... nce-rankings/page+2) and started working in the Bay area, I've been through one of the FLAG companies and now at a startup now.