리트코드 - 108. Convert Sorted Array to Binary Search Tree 출처 - https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/description/?envType=study-plan-v2&envId=top-interview-150 문제 설명 주어진 정수 배열 nums가 오름차순으로 정렬되어 있을 때, 이 배열을 높이가 균형 잡힌 이진 검색 트리로 변환하세요. 의사코드 함수 sortedArrayToBST if (nums == null || nums.length == 0) null 리턴 sortedArrayToBST(nums, 0, nums.length - 1) 함수 sortedArrayToBST..
리트코드 - 637. Average of Levels in Binary Tree 출처 - https://leetcode.com/problems/average-of-levels-in-binary-tree/description/?envType=study-plan-v2&envId=top-interview-150 문제 설명 주어진 이진 트리의 루트 노드를 기반으로, 각 레벨에서 노드의 평균값을 배열 형태로 반환하세요. 실제 정답과 10^-5 이내의 오차가 있는 답변은 허용됩니다. 의사코드 list = new ArrayList q = new LinkedList q.offer(root) 반복문 시작 (q가 비어있지 않으면) int size = q의 size double sum = 0 반복문 시작 (1부터 size까..
리트코드 - 222. Count Complete Tree Nodes 출처 - https://leetcode.com/problems/count-complete-tree-nodes/description/?envType=study-plan-v2&envId=top-interview-150 문제 설명 완전한 이진 트리의 루트가 주어지면 트리의 노드 수를 반환합니다. Wikipedia에 따르면 마지막 레벨을 제외한 모든 레벨은 완전한 이진 트리로 완전히 채워지며 마지막 레벨의 모든 노드는 최대한 왼쪽에 있습니다. 마지막 레벨 h에 1~2h 노드가 포함될 수 있습니다. O(n) 시간 복잡도 미만으로 실행되는 알고리즘을 설계합니다. 의사코드 함수 countNodes if (root =null) 0 리턴 1 + coun..
리트코드 - 112. Path Sum 출처 - https://leetcode.com/problems/path-sum/description/?envType=study-plan-v2&envId=top-interview-150 문제 설명 이진 트리의 root와 정수 targetSum이 주어지면, 경로를 따라 모든 값을 더하면 targetSum이 되는 루트-리프 경로가 트리에 있으면 true를 반환합니다. 리프는 자식이 없는 노드입니다. 의사코드 함수 hasPathSum(root, targetSum) if (root == null) false 리턴 if (root의 left == null && root의 right == null) targetSum - root의 val == 0 리턴 hasPathSum(root..
리트코드 - 101. Symmetric Tree 출처 - https://leetcode.com/problems/symmetric-tree/?envType=study-plan-v2&envId=top-interview-150 문제 설명 이진 트리의 루트가 주어지면 그것이 자신의 거울인지(즉, 중심을 중심으로 대칭인지) 확인합니다. 의사코드 함수 isSymmetric if (root == null) true 리턴 isSymmetric(root의 left, root의 right) 함수끝 함수 isSymmetric(왼쪽노드,오른쪽 노드) 매개변수 두개로 오버로딩 if (leftNode == null && rightNode = null) true 리턴 if (둘중에 하나가 null인 경우) false 리턴 if (..
리트코드 - 226. Invert Binary Tree 출처 - https://leetcode.com/problems/invert-binary-tree/description/?envType=study-plan-v2&envId=top-interview-150 문제 설명 이진 트리의 루트가 주어지면 트리를 반전하고 루트를 반환합니다. 의사코드 함수 invertTree if (root == null) null 리턴 if (root.left != null) if (root.right == null) root.right = root.left root.left = null else TreeNode tempNode = new TreeNode tempNode = root.left root.left = root.righ..