Notice
Recent Posts
Recent Comments
Link
복's
[ LeetCode - 94 ] Binary Tree Inorder Traversal 본문
728x90
https://leetcode.com/problems/binary-tree-inorder-traversal/
Binary Tree Inorder Traversal - LeetCode
Can you solve this real interview question? Binary Tree Inorder Traversal - Given the root of a binary tree, return the inorder traversal of its nodes' values. Example 1: [https://assets.leetcode.com/uploads/2020/09/15/inorder_1.jpg] Input: root = [1,nu
leetcode.com
트리가 주어지고 중위 순회하며 요소를 출력하는 문제이다.
백준 같은 경우 실버정도 될 거 같은데 LeetCode의 easy가 실버정도인가
특징은 트리가 주어져서 만들어서 순회할 필요 없다.
[ 📌 풀이 ]
중위 순회는 left 노드로 계속 들어가 null이 나올 때 까지 훑어야 한다.
null이 나오면 중앙 노드를 훑고 right 노드를 훑어야 한다.
중위 순회를 하게되면 트리의 오름차순으로 요소를 조회할 수 있다.
[ 📌 코드 - Python ]
"""
# Author : Lee In Bok
# Date : 2023.11.12(Sun)
# Spend Time: 08m 09s
# Runtime : 34 ms (Beats 81.21%)
# Memory : 16.3 MB (Beats 08.46%)
# Algoritm : Tree
"""
class Solution:
def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
ans = []
def inorder(node: Optional[TreeNode]):
#print(node.left, " ", node.val)
if node:
if node.left:
inorder(node.left)
ans.append(node.val)
if node.right:
inorder(node.right)
inorder(root)
[ 📌 다른 사람 숏 코드 - Python ]
class Solution:
def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
def inorder(root):
return inorder(root.left) + [root.val] + inorder(root.right) if root else []
return inorder(root)
파이썬 특성 덕분인지 배열끼리 더하는 연산이 가능해서 정말 짧고 쉬운 코드가 있었다.
[ 📌 코드 - Java ]
/**
* Author : Lee In Bok
* Date : 2023.11.12(Sun)
* Spend Time: 08m 09s
* Runtime : 0 ms (Beats 100%)
* Memory : 41 MB (Beats 16.4%)
* Algoritm : Tree
*/
class Solution {
List<Integer> ans = new ArrayList();
public List<Integer> inorderTraversal(TreeNode root) {
inorder(root);
return ans;
}
public void inorder(TreeNode root) {
if(root == null){
return;
}
inorder(root.left);
ans.add(root.val);
inorder(root.right);
}
}
[ 📌 결과 - Python ]
[ 📌 결과 - Java ]
728x90
'알고리즘 > LeetCode' 카테고리의 다른 글
[ LeetCode - 100 ] Same Tree (1) | 2023.11.14 |
---|---|
[ LeetCode - 181 ] Employees Earning More Than Their Managers (0) | 2023.11.12 |
[ LeetCode - 175 ] Combine Two Tables (1) | 2023.11.11 |
[ LeetCode - 88 ] Merge Sorted Array (0) | 2023.11.11 |
[ LeetCode - 83 ] Remove Duplicates from Sorted List (0) | 2023.11.08 |