320x100
문제 : https://leetcode.com/problems/univalued-binary-tree/
TreeNode 포인터(root)와 노드 val를 파라미터로 가지는 재귀함수를 하나 만든다.
함수에서는 파라미터로 받은 root 노드가 루트 노드인 서브트리가 정답이 될 수 있는 트리인지 판단하고 그 결과 boolean 값을 반환한다.
만약 root 노드가 NULL이거나 root의 val 값이 파라미터로 받은 val과 다르다면 false를 반환한다.
그리고 root노드의 왼쪽, 오른쪽 노드를 재귀함수의 파라미터를 가지는 재귀함수를 호출하여 그 결과 값을 받아온다.
만약 두 개의 결과 중 하나라도 false라면 false를 반환하고 모두 true라면 true를 반환한다.
소스코드 : https://gist.github.com/fpdjsns/7a0ca7edb3d312c4e587ea0bbd0499da
320x100
'알고리즘 문제 > Leetcode' 카테고리의 다른 글
[leetcode][988] Smallest String Starting From Leaf (0) | 2019.02.09 |
---|---|
[Leetcode][981] Time Based Key-Value Store (0) | 2019.01.31 |
[Leetcode][961] N-Repeated Element in Size 2N Array (0) | 2018.12.23 |
[Leetcode][954] Array of Doubled Pairs (0) | 2018.12.21 |
[Leetcode][931] Minimum Falling Path Sum (0) | 2018.12.18 |
댓글