/Snorlax

👻 Explore data structure & algorithm with C/C++.总结常用的数据结构和算法,包含图论,以及 Leetcode 刷题记录

Primary LanguageC++

Snorlax


🔭 Algorithm

🔥 动态规划

🐾 Graph

🐡 Other Algorithm Topics

👻 System Design


🗃️ Algorithm Summary

Binary Tree

方法 注意点 能够解决的问题
前序遍历 将根节点的信息传递至左右子树 验证 BST: 98. Validate Binary Search Tree
判断两棵树是否完全相同: 100. Same Tree
判断是否为子树: 572. Subtree of Another Tree
根节点到叶子节点的路径问题: 113. Path Sum II
所有二叉树的构造问题都是前序遍历: 108. Convert Sorted Array to Binary Search Tree
中序遍历 BST 的中序遍历结果有序 验证 BST: 98. Validate Binary Search Tree
BST 中第 K 小/大的元素: 230. Kth Smallest Element in a BST
后序遍历 将左右子树的信息传回给根节点 二叉树的最大高度: 104. Maximum Depth of Binary Tree
二叉树的最小高度: 111. Minimum Depth of Binary Tree
翻转二叉树: 226. Invert Binary Tree
翻转二叉树为链表: 114. Flatten Binary Tree to Linked List
最近公共祖先问题: 236. Lowest Common Ancestor of a Binary Tree
DP + BinaryTree: 337. House Robber III
层序遍历 使用 queue 保存每一层的节点
BFS 用于求解无权图最短路径
寻找二叉树每一行的最大节点值: 515. Find Largest Value in Each Tree Row
二叉树的右视图: 199. Binary Tree Right Side View
多叉树最短路径问题: 310. Minimum Height Trees
二叉树中所有距离为 K 的节点: 863. All Nodes Distance K in Binary Tree

🍻 Interesting Problems

Danamic Programing

Linked-List

intersection-of-two-linked-list