94 |
Binary Tree Inorder Traversal |
stack or recursive |
Medium |
BinaryTreeInorderTraversal.java |
95 |
Unique Binary Search Trees II |
recursive |
Medium |
UniqueBinarySearchTreesII.java |
96 |
Unique Binary Search Trees |
dp |
Medium |
UniqueBinarySearchTrees.java |
98 |
Validate Binary Search Tree |
recursive or stack |
Medium |
ValidateBinarySearchTree.java |
100 |
Same Tree |
recursive |
Easy |
SameTree.java |
101 |
Symmetric Tree |
recursive |
Easy |
SymmetricTree.java |
102 |
Binary Tree Level Order Traversal |
recursive or bfs by queue |
Medium |
BinaryTreeLevelOrderTraversal.java |
103 |
Binary Tree Zigzag Level Order Traversal |
recursive or bfs by queue |
Medium |
BinaryTreeZigzagLevelOrderTraversal.java |
104 |
Maximum Depth of Binary Tree |
recursive |
Easy |
MaximumDepthofBinaryTree.java |
105 |
Construct Binary Tree from Preorder and Inorder Traversal |
hashmap + recursive |
Medium |
ConstructBinaryTreefromPreorderandInorderTraversal.java |
106 |
Construct Binary Tree from Inorder and Postorder Traversal |
hashmap + recursive |
Medium |
ConstructBinaryTreefromInorderandPostorderTraversal.java |
107 |
Binary Tree Level Order Traversal II |
recursive |
Easy |
BinaryTreeLevelOrderTraversalII.java |
108 |
Convert Sorted Array to Binary Search Tree |
preorder recursive |
Easy |
ConvertSortedArraytoBinarySearchTree.java |
110 |
Balanced Binary Tree |
recursive |
Easy |
BalancedBinaryTree.java |
111 |
Minimum Depth of Binary Tree |
recursive |
Easy |
MinimumDepthofBinaryTree.java |
112 |
Path Sum |
recursive |
Easy |
PathSum.java |
113 |
Path Sum II |
recursive |
Medium |
PathSumII.java |
114 |
Flatten Binary Tree to Linked List |
stack or recursive |
Medium |
FlattenBinaryTreetoLinkedList.java |
116 |
Populating Next Right Pointers in Each Node |
bfs by queue |
Medium |
PopulatingNextRightPointersinEachNode.java |
117 |
Populating Next Right Pointers in Each Node II |
bfs by queue |
Medium |
PopulatingNextRightPointersinEachNodeII.java |
129 |
Sum Root to Leaf Numbers |
stack or recursive |
Medium |
SumRoottoLeafNumbers.java |
144 |
Binary Tree Preorder Traversal |
stack or recursive |
Medium |
BinaryTreePreorderTraversal.java |
199 |
Binary Tree Right Side View |
queue or recursive |
Medium |
BinaryTreeRightSideView.java |
222 |
Count Complete Tree Nodes |
stack or recursive |
Medium |
CountCompleteTreeNodes.java |
226 |
Invert Binary Tree |
stack or recursive |
Easy |
InvertBinaryTree.java |
230 |
Kth Smallest Element in a BST |
stack or recursive |
Medium |
KthSmallestElementinaBST.java |