알고리즘/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

지적, 조언, 질문 환영입니다! 댓글 남겨주세요~