본문 바로가기

Algorithm/Leet Code

[LeetCode] 94. Maximum Number of Balls in a Box (TDD, 코테, 릿코드, tech interview)

풀이 코드

 

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

public class LeetCode_0094_BinaryTreeInorderTraversal {

    private List<Integer> result = new ArrayList<>();

    public List<Integer> inorderTraversal(TreeNode94 root) {
        if (root == null) {
            return result;
        }

        recursiveInorderTraversal(root);

        return result;
    }

    private void recursiveInorderTraversal(TreeNode94 node) {
        if (node.left != null) {
            recursiveInorderTraversal(node.left);
        }

        result.add(node.val);

        if (node.right != null) {
            recursiveInorderTraversal(node.right);
        }
    }

}

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

 

테스트코드

import static org.assertj.core.api.Assertions.assertThat;

import org.junit.jupiter.api.Test;

public class LeetCode_0094_BinaryTreeInorderTraversalTest {

    @Test
    public void inorderTraversalTest_1() {
        LeetCode_0094_BinaryTreeInorderTraversal test = new LeetCode_0094_BinaryTreeInorderTraversal();

        TreeNode94 root = new TreeNode94(1);
        TreeNode94 node2 = new TreeNode94(2);
        TreeNode94 node3 = new TreeNode94(3);

        root.right = node2;
        node2.left = node3;

        assertThat(test.inorderTraversal(root)).containsExactly(1,3,2);
    }

    @Test
    public void inorderTraversalTest_2() {
        LeetCode_0094_BinaryTreeInorderTraversal test = new LeetCode_0094_BinaryTreeInorderTraversal();

        TreeNode94 root = new TreeNode94();

        assertThat(test.inorderTraversal(root)).containsExactly(0);
    }

    @Test
    public void inorderTraversalTest_3() {
        LeetCode_0094_BinaryTreeInorderTraversal test = new LeetCode_0094_BinaryTreeInorderTraversal();

        TreeNode94 root = new TreeNode94(1);

        assertThat(test.inorderTraversal(root)).containsExactly(1);
    }

}