알고리즘/LeetCode
LeetCode - 94. Binary Tree Inorder Traversal
시나모온
2020. 4. 28. 03:28
문제 링크입니다 : https://leetcode.com/problems/binary-tree-inorder-traversal/
Binary Tree Inorder Traversal - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
전형적인 트리 순회 문제이다.
그 중에서도 중위 순회 문제이다.
C++
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
vector<int> inorderTraversal(TreeNode* root) {
vector<int> ret;
traverse(ret, root);
return ret;
}
void traverse(vector<int>& ret, TreeNode* node) {
if(node == NULL) return;
traverse(ret, node->left);
ret.push_back(node->val);
traverse(ret, node->right);
}
};
JAVA
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public List<Integer> inorderTraversal(TreeNode root) {
List<Integer> ret = new ArrayList<Integer>();
traverse(ret, root);
return ret;
}
void traverse(List<Integer> lt, TreeNode root) {
if(root == null) return;
traverse(lt, root.left);
lt.add(root.val);
traverse(lt, root.right);
}
}
Python3
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def inorderTraversal(self, root: TreeNode) -> List[int]:
ret = []
def traverse(node):
if node == None:
return
traverse(node.left)
ret.append(node.val)
traverse(node.right)
traverse(root)
return lt
개발 환경 : vscode
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~