Last updated on October 10th, 2024 at 12:04 am
Here, We see Binary Tree Inorder Traversal LeetCode Solution. This Leetcode problem is done in many programming languages like C++, Java, JavaScript, Python, etc. with different approaches.
List of all LeetCode Solution
Topics
Hash Table, Stack, Tree
Companies
Microsoft
Level of Question
Easy
Binary Tree Inorder Traversal LeetCode Solution
Table of Contents
Problem Statement
Given the root
of a binary tree, return the inorder traversal of its nodes’ values.
Example 1: Input: root = [1,null,2,3] Output: [1,3,2] Example 2: Input: root = [] Output: [] Example 3: Input: root = [1] Output: [1]
1. Binary Tree Inorder Traversal Leetcode Solution C++
class Solution { public: vector<int> inorderTraversal(TreeNode* root) { vector<int> nodes; stack<TreeNode*> todo; while (root || !todo.empty()) { while (root) { todo.push(root); root = root -> left; } root = todo.top(); todo.pop(); nodes.push_back(root -> val); root = root -> right; } return nodes; } };
2. Binary Tree Inorder Traversal Leetcode Solution Java
class Solution { public List<Integer> inorderTraversal(TreeNode root) { List<Integer> list = new ArrayList<Integer>(); dfsTraversal(list, root); return list; } private boolean dfsTraversal(List<Integer> list, TreeNode root) { if(root == null){ return true; } if(dfsTraversal(list, root.left)){ list.add(root.val); } return dfsTraversal(list, root.right); } }
3. Binary Tree Inorder Traversal Leetcode Solution JavaScript
var inorderTraversal = function(root) { const stack = []; const res = []; while (root || stack.length) { if (root) { stack.push(root); root = root.left; } else { root = stack.pop(); res.push(root.val); root = root.right; } } return res; };
4. Binary Tree Inorder Traversal Leetcode Solution Python
class Solution(object): def inorderTraversal(self, root): result, stack = [], [(root, False)] while stack: cur, visited = stack.pop() if cur: if visited: result.append(cur.val) else: stack.append((cur.right, False)) stack.append((cur, True)) stack.append((cur.left, False)) return result