Skip to content

Commit 4b2e6ef

Browse files
solves pre order traversal in binary tree
1 parent e900efc commit 4b2e6ef

File tree

3 files changed

+43
-3
lines changed

3 files changed

+43
-3
lines changed

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# LeetCode Algorithms
22

3-
![problems-solved](https://img.shields.io/badge/Problems%20Solved-163/2081-1f425f.svg)
4-
![problems-solved-java](https://img.shields.io/badge/Java-163/2081-1abc9c.svg)
5-
![problems-solved-python](https://img.shields.io/badge/Python-163/2081-1abc9c.svg)
3+
![problems-solved](https://img.shields.io/badge/Problems%20Solved-165/2081-1f425f.svg)
4+
![problems-solved-java](https://img.shields.io/badge/Java-165/2081-1abc9c.svg)
5+
![problems-solved-python](https://img.shields.io/badge/Python-165/2081-1abc9c.svg)
66
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)
77
[![cp](https://img.shields.io/badge/also%20see-Competitve%20Programming-1f72ff.svg)](https://github.com/anishLearnsToCode/competitive-programming)
88

@@ -47,6 +47,7 @@
4747
| 125 | [Valid Palindrome](https://leetcode.com/problems/valid-palindrome) | [![Java](assets/java.png)](src/ValidPalindrome.java) [![Python](assets/python.png)](python/valid_palindrome.py) |
4848
| 136 | [Single Number](https://leetcode.com/problems/single-number) | [![Java](assets/java.png)](src/SingleNumber.java) [![Python](assets/python.png)](python/single_number.py) |
4949
| 141 | [Linked List Cycle](https://leetcode.com/problems/linked-list-cycle) | [![Java](assets/java.png)](src/LinkedListCycle.java) [![Python](assets/python.png)](python/linked_list_cycle.py) |
50+
| 144 | [Binary Tree Preorder Traversal](https://leetcode.com/problems/binary-tree-preorder-traversal/) | [![Java](assets/java.png)](src/BinaryTreePreOrderTraversal.java) [![Python](assets/python.png)](python/binary_tree_preorder_traversal.py) |
5051
| 155 | [Min Stack](https://leetcode.com/problems/min-stack) | [![Java](assets/java.png)](src/MinStack.java) [![Python](assets/python.png)](python/min_stack.py) |
5152
| 157 | [Read N Characters Given Read4](https://leetcode.com/problems/read-n-characters-given-read4) | |
5253
| 160 | [Intersection of Two Linked Lists](https://leetcode.com/problems/intersection-of-two-linked-lists) | [![Java](assets/java.png)](src/IntersectionOf2LinkedLists.java) [![Python](assets/python.png)](python/intersecction_of_two_linked_lists.py) |
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Definition for a binary tree node.
2+
from typing import Optional, List
3+
4+
5+
class TreeNode:
6+
def __init__(self, val=0, left=None, right=None):
7+
self.val = val
8+
self.left = left
9+
self.right = right
10+
11+
12+
class Solution:
13+
def _preorder_traversal(self, root: Optional[TreeNode], list: List[int]) -> None:
14+
if root is None: return
15+
list.append(root.val)
16+
self._preorder_traversal(root.left, list)
17+
self._preorder_traversal(root.right, list)
18+
19+
def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
20+
result = []
21+
self._preorder_traversal(root, result)
22+
return result

src/BinaryTreePreOrderTraversal.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import java.util.ArrayList;
2+
import java.util.List;
3+
4+
public class BinaryTreePreOrderTraversal {
5+
public List<Integer> preorderTraversal(TreeNode root) {
6+
List<Integer> result = new ArrayList<>();
7+
preorderTraversal(root, result);
8+
return result;
9+
}
10+
11+
private void preorderTraversal(TreeNode root, List<Integer> list) {
12+
if (root == null) return;
13+
list.add(root.val);
14+
preorderTraversal(root.left, list);
15+
preorderTraversal(root.right, list);
16+
}
17+
}

0 commit comments

Comments
 (0)