코딩테스트 풀이/JAVA
[LeetCode/Easy] 965. Univalued Binary Tree
무지맘
2023. 6. 6. 17:10
1. Input
1) TreeNode root
2. Output
1) root의 모든 노드의 값이 같으면 true, 다르면 false를 반환
3. Constraint
1) 노드 수의 범위는 [1, 100]이다.
2) 0 <= Node.val < 100
4. Example
Input: root = [1,1,1,1,1,null,1] -> Output: true
Input: root = [2,2,2,5,2] -> Output: false
5. Code
1) 첫 코드(2023/06/06)
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() {}
* TreeNode(int val) { this.val = val; }
* TreeNode(int val, TreeNode left, TreeNode right) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
*/
class Solution {
public boolean isUnivalTree(TreeNode root) {
boolean ans = true;
Queue<TreeNode> q = new LinkedList<>();
q.add(root);
int v = root.val;
while(!q.isEmpty()){
TreeNode c = q.remove();
if(c.val!=v) { ans = false; break; }
if(c.left!=null) q.add(c.left);
if(c.right!=null) q.add(c.right);
}
return ans;
}
}
- 100%, 95%