965-シングルツリー
前言
Weekly Contest 117の単一値ツリー:
ツリーの各ノードに同じ値がある場合、ツリーは単一のツリーです.
与えられたツリーが単一値のツリーである場合にのみ、
例1:
例2:
ヒント:所与のツリーのノード数の範囲は 各ノードの値は整数であり、範囲は
問題を解く構想.
ローカルは簡単です.ルートノードの値を取得し、ツリーを巡るときにルートノードの値と比較するだけです.私が選んだのは、ツリーを階層的に巡ることです.
インプリメンテーションコード
Weekly Contest 117の単一値ツリー:
ツリーの各ノードに同じ値がある場合、ツリーは単一のツリーです.
与えられたツリーが単一値のツリーである場合にのみ、
true
が返される.そうでなければfalse
を返します.例1:
:[1,1,1,1,1,null,1]
:true
例2:
:[2,2,2,5,2]
:false
ヒント:
[1, 100]
である.[0, 99]
である.問題を解く構想.
ローカルは簡単です.ルートノードの値を取得し、ツリーを巡るときにルートノードの値と比較するだけです.私が選んだのは、ツリーを階層的に巡ることです.
インプリメンテーションコード
/**
* 965.
* @param root
* @return
*/
public boolean isUnivalTree(TreeNode root) {
boolean flag = true;
Queue queue = new LinkedList<>();
queue.add(root);
//
int val=root.val;
//
TreeNode current=null;
while(queue.size()!=0){
current=queue.poll();
if(current.val!=val){
flag=false;
break;
}
if(current.left!=null){
queue.offer(current.left);
}
if(current.right!=null){
queue.offer(current.right);
}
}
return flag;
}