LeetCode 1
정렬된 list1, list2 head가 주어진다.두개를 합해서 정렬된 하나의 리스트를 만들어야한다.Return the head of the merged linked list. => head를 return하라.두 리스트의 head가 모두 비어있을 때 빈 배열 두 리스트
사이클을 도는 linked list면 true, 사이클을 돌지 않는 linked list면 false를 반환한다. (pos는 tail이 가리키고있는 인자의 index값이다.)토끼와 거북이 알고리즘 fast와 slow를 찍으면 콘솔에 이런 에러가 뜬다. 근데 slow.v
각 linked-list를 순회하면서, pointerA, pointerB가 지정하는 곳이 같으면 그pointer을 return한다.TODO - 이 방법은 왜 안될까? 해결해야 함.linked-listA, B의 첫 번째 교차 점을 찾아내는 것임.두 대의 linked-li
linked-list가 회문이면 true, 아니면 false를 반환.(좌우대칭?)만약 1 -> 2 -> 3 -> 2 -> 1 이면?fast slow pointer를 이용해서 가운데 값을 알 수 있다.그럼 마지막 포인터에서 거꾸로 가운데 값을 향해서 오면서 계속 같으면
트리를 좌우대칭으로 바꾼다.heap정렬을 하면서, 각 층에서 node들을 stack에 넣고 꺼낸다.재귀
tree의 중위순회하기 재귀 사용
트리의 최대 깊이를 구하는 문제 깊이 변수 maxDepth (초기 값 0)을 선언하고 시작한다.node에 node.left 또는 node.right 가 있으면 maxDepth를 1씩 더해준다.\-> 탈출 조건: 재귀함수(traversal)로 만들어서 node가 없으면
root node를 기준으로 대칭트리면 true, 아니면 false를 반환한다.root node가 null이면 true로 돌린다.root node의 왼쪽, 오른쪽의 대칭을 확인한다.\-> 왼쪽 노드와 오른쪽 노드를 인자로 가지는 재귀함수를 만든다.a) left, rig
2개의 linked-list를 하나의 sorting된 linked-list로 합친다.더 작은 요소를 가지고있는 linked list를 Head로 삼는다. Head로 삼은 linked list의 다음 node와 (-> list1)헤드가 되지 못한 linked list(-