728x90
반응형

bst 3

[JAVA][LeetCode][Blind75] 235. Lowest Common Ancestor of a Binary Search Tree | BST | Recursion | Medium

문제 / 예제 / 제한조건 : p와 q 사이에 있는 Value를 가진 노드 중 가장 위에 있는 노드를 구하는 문제! 예전에는 Easy였는데, Medium 으로 바뀐듯?  # 풀이1. p와 q 범위 안에 들었다면 -> 리턴2. 범위 안에 들지 않았다면   -> 노드 왼쪽 확인 후 값이 null이라면   -> 노드 오른쪽 확인 후 값 리턴/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public TreeNode lowestCo..

[Java][Leetcode][BST] 501. Find Mode in Binary Search Tree

문제 : 예시 : 제한 조건 : WAY 1: BST방문해서 모든 수/카운트 횟수를 MAP에 저장하고, 후에 그 MAP에 있는 데이터 기반으로 최대 횟수 숫자 뽑으면 되겠다. 생각함 class Solution { Map map = new HashMap(); public int[] findMode(TreeNode root) { checkTree(root); int maxCount = 0; ArrayList resultArray = new ArrayList(); for(int key: map.keySet()) { if(maxCount < map.get(key)) { maxCount = map.get(key); resultArray.clear(); resultArray.add(key); } else if(max..

[JAVA][LeetCode][BST] #98. Validate Binary Search Tree

문제 : 예시 : 제한 조건 : 시도1 : 처음에는 부모랑만 비교하면 된다고 생각했다. 그래서 간단히 정리해본 수도코드와 실제 코드 class Solution { public static final int LEFT = 0; public static final int RIGHT = 1; public boolean isValidBST(TreeNode root) { return checkValid(root.left, root.val, LEFT) && checkValid(root.right, root.val, RIGHT); } private boolean checkValid(TreeNode node, int parentValue, int side) { if(node == null) return true; // ..

728x90
반응형