Leetcode (106) 썸네일형 리스트형 [Leetcode] 105. Construct Binary Tree from Preorder and Inorder Traversal - JS https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/description/?envType=study-plan-v2&envId=top-interview-150 1. 문제 분석문제분석--------------------preorder, inorder가 주어질 때, 이진 트리를 구성하여 반환하라.preorder는 선순서 순회, inorder는 중위 순회이다.제한조건--------------------- 1 2. 접근 방법접근방법--------------------preorder란?부모 -> left -> right 순서로 순회한다.inorder란?left -> 부모 -> right 순서로 순회한다.예시).. [Leetcode] 101. Symmetric Tree -JS https://leetcode.com/problems/symmetric-tree/description/?envType=study-plan-v2&envId=top-interview-150 1. 문제 분석문제분석--------------------이진트리의 root가 주어질 때, 중심을 기준으로 거울처럼 대칭인지 판단하라.제한조건--------------------- 이진트리 노드의 갯수는 1 ~ 1000이다.- -100 2. 접근 방법접근방법--------------------재귀사용해서 left와 right가 대칭인지 비교한다.대칭 조건1. left, right 둘다 null이면 대칭2. left, right의 val 동일하면 대칭left, right 대칭인지 분간하고 이어서 판단해야할 것은 left,.. [Leetcode] 226. Invert Binary Tree - JS https://leetcode.com/problems/invert-binary-tree/?envType=study-plan-v2&envId=top-interview-150 1. 문제 분석문제분석--------------------- 이진트리 root가 주어질 때, left, right를 바꿔라.제한조건--------------------- 이진트리 노드의 갯수는 0 ~ 100이다.- -100 2. 접근 방법접근방법--------------------재귀적으로 left와 right를 바꿔준다. 3. 코드/** * Definition for a binary tree node. * function TreeNode(val, left, right) { * this.val = (val===undefine.. [Leetcode] 100. Same Tree - JS https://leetcode.com/problems/same-tree/description/?envType=study-plan-v2&envId=top-interview-150 1. 문제 분석문제분석--------------------이진트리의 root인 p, q가 주어진다.두 이진트리가 동일한지 판단하는 함수를 작성하라.두 이진트리는 구조적으로 동일하고 node들의 값이 동일해야 동일하다.제한조건--------------------- 이진트리의 node의 갯수는 0 ~ 100이다.- -10^4 2. 접근 방법접근방법--------------------재귀로 생각해보자.p,q의 val이 같은지 비교 - 다르면 false를 반환 - 같으면 p.left, q.left 재귀, p.right, q... [Leetcode] 104. Maximum Depth of Binary Tree - JS https://leetcode.com/problems/maximum-depth-of-binary-tree/description/?envType=study-plan-v2&envId=top-interview-150 1. 문제 분석문제분석--------------------binary tree의 root가 주어진다.최대 깊이를 반환하라.제한조건--------------------- 트리 속의 노드의 갯수는 0 ~ 10^4이다.- -100 2. 접근 방법접근방법--------------------재귀를 사용하여 root.left, root.right를 DFS 탐색을 한다.각 left와 right의 깊이 중 더 큰 값을 반환한다. 3. 코드/** * Definition for a binary tree node.. [Leetcode] 146. LRU Cache - JS https://leetcode.com/problems/lru-cache/description/?envType=study-plan-v2&envId=top-interview-150 1. 문제 분석문제분석--------------------양수의 capacity으로 LRU cache를 초기화get(key)는 key가 존재하면 key의 값을 반환한다. 없으면 -1 반환put(key, value)는 key가 존재하는 경우 value를 업데이트하고 없으면 key-value 쌍을 추가하라.key 갯수가 capacity를 초과하는 경우,최근에 사용된 key를 제거하라.제한조건--------------------- 1 2. 접근 방법접근방법--------------------Map 자료구조는 삽입된 순서를 기억한다.k.. [Leetcode] 86. Partition List - JS https://leetcode.com/problems/partition-list/description/?envType=study-plan-v2&envId=top-interview-150 1. 문제 분석문제분석--------------------연결리스트의 head와 x가 주어진다.x보다 작은 노드는 x보다 크거나 같은 노드보다 앞에 배치하라.단, x보다 작은 노드, x보다 크거나 같은 노드의 상대 순서는 유지하라.제한조건--------------------- 연결리스트 속 노드의 갯수는 0 ~ 200이다.- -100 2. 접근 방법접근방법--------------------x보다 작은 연결리스트 생성x보다 크거나 같은 연결리스트 생성head 연결리스트를 순회한다. - x랑 노드의 값을 비교하여 구.. [Leetcode] 61. Rotate List - JS https://leetcode.com/problems/rotate-list/description/?envType=study-plan-v2&envId=top-interview-150 1. 문제 분석문제분석--------------------연결리스트의 head가 주어지면 k만큼 연결리스트를 우측으로 회전시켜라.제한조건--------------------- 연결리스트 속 노드의 갯수는 0 ~ 500이다.- -100 2. 접근 방법접근방법--------------------dummy 생성단, k만큼 반복하다 보면 원래랑 똑같아지는 경우가 있다.이 경우, 연결리스트 길이와 k를 가지고 최적화 가능하다.k만큼 반복한다. prev = dummy - 연결리스트 순회하여 마지막에 도달 시 - prev.. 이전 1 2 3 4 5 6 7 ··· 14 다음