1.
2.
public boolean isSymmetric(TreeNode root) { return recursive(root, root); } private boolean recursive(TreeNode left, TreeNode right) { if (Objects.isNull(left) && Objects.isNull(right)) { return true; } if (Objects.isNull(left) || Objects.isNull(right)) { return false; } if (left.val == right.val) { return recursive(left.right, right.left) && recursive(left.left, right.right); } return false; }
3. 실패
public void test() { int[] nums = {-1,0,1,2,-1,-4}; } List<List<Integer>> result = new ArrayList<>(); LinkedList<Integer> queue = new LinkedList<>(); public List<List<Integer>> threeSum(int[] nums) { for (final int num : nums) { calculate(nums, num); } return null; } private void calculate(int[] nums, int value) { queue.add(value); if (queue.size() == 3) { final int sum = queue.stream() .reduce(Integer::sum) .get(); if (sum == 0) { result.add(new ArrayList<>(queue)); } } }