[Tree] Diameter of Binary Tree
2021. 2. 2. 23:14ㆍ프로그래밍-코딩테스트/LeetCode
Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of a binary tree is the length of the longest path between any two nodes in a tree. This path may or may not pass through the root.
트리를 순회하면서 최대 길이를 구하라는 문제이다.
예를들어 그림과 같은 트리가 있다면, 최대길이는 4->2->1->3 또는 5->2->1->3으로 3일 것이다.
1) 하나의 루트 노드를 기준으로 보면, left까지의 최대 길이에 1을 더한값과, right까지의 최대길이에 1을 더한값이 root의 최대 길이가 되며, 이것이 곧 트리 전체의 최대 길이가 될 것이다.
2) 루트가 아닌 노드 기준에서 보자면, 최대길이는 left와 right의 합이지만, 상위노드로 넘겨주어야 하는 값은 left와 right 중 더 큰 값 하나가 된다.
따라서 내 풀이에서는 '최대길이'와 '리턴값'을 별개로 관리한다.
'프로그래밍-코딩테스트 > LeetCode' 카테고리의 다른 글
[Stack] Valid Parentheses (0) | 2021.02.09 |
---|---|
[Array] two sum (0) | 2021.02.02 |
[Hash Table] Single Number (0) | 2021.01.25 |
[Tree] Invert Binary Tree (0) | 2021.01.25 |
[Tree] Maximum Depth of Binary Tree (0) | 2021.01.25 |