프로그래밍언어/알고리즘

Leetcode 문제풀이 난이도 Midium 94. Binary Tree Inorder Traversal 트리 인오더

by 앵과장 2022. 9. 9. 10:00
반응형

Leetcode

https://leetcode.com/problemset/all/

천천히 읽어보셔영

왼쪽 노드에 값이 없으면 Root 삽입 코드는 간단합니다.

이해하고 기록해두고 비슷한 문제가나왔을때 참고할수있는 형태로 기록해두면될것 같습니다.

package com.codeing.code.leetcode;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * leetcode : https://leetcode.com/problems/binary-tree-inorder-traversal/
 * 난이도 : easy
 */
public class BinaryTreeInorder {

     public class TreeNode {
         int val;
         TreeNode left;
         TreeNode right;
         TreeNode() {}
         TreeNode(int val) { this.val = val; }
         TreeNode(int val, TreeNode left, TreeNode right) {
             this.val = val;
             this.left = left;
             this.right = right;
         }
     }


     List<Integer> list = Collections.emptyList();
    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode() {}
     *     TreeNode(int val) { this.val = val; }
     *     TreeNode(int val, TreeNode left, TreeNode right) {
     *         this.val = val;
     *         this.left = left;
     *         this.right = right;
     *     }
     * }
     */
    public List<Integer> inorderTraversal(TreeNode root) {
        list = new ArrayList<Integer>();
        inorder(root);
        return list;
    }

    public void inorder(TreeNode node){
        if(node !=null){
            if(node.left !=null) inorder(node.left);
            list.add(node.val);
            if(node.right !=null) inorder(node.right);
        }

    }
}

 

Github 링크 공유드립니다.

 

GitHub - lswteen/codeing: 하루에 하나씩 코딩을 해보도록 하겠습니다.

하루에 하나씩 코딩을 해보도록 하겠습니다. Contribute to lswteen/codeing development by creating an account on GitHub.

github.com