题目描述:
146、单值二叉树
146、单值二叉树
一般思路:

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public boolean isUnivalTree(TreeNode root) {
      	if (root == null) {
			return true;
		}
		Queue<TreeNode>  tem = new LinkedList<>();
		tem.offer(root);
		while (!tem.isEmpty()) {
			int size = tem.size();
			for (int i = 0; i < size; i++) {
				TreeNode sNode = tem.poll();
				if(root.val != sNode.val){
					return false;
				}
				if(sNode.left != null){
					tem.offer(sNode.left);
				}
				if(sNode.right != null){
					tem.offer(sNode.right);
				}
			}
		}
		return true;  
    }
}

使用递归来进行
递归还是不是很熟悉啊,哎

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public boolean isUnivalTree(TreeNode root) {
      	if(root == null){
			return true;
		}
        return is(root.left,root.val) && is(root.right,root.val);

    }
	
	
	public boolean is(TreeNode root,int val){
		if(root == null){
			return true;
		}
		if(root.val != val){
			return false;
		}
		return is(root.left,val) && is(root.right,val);
	}
}

相关文章:

  • 2021-08-06
  • 2022-01-20
  • 2021-07-07
  • 2021-07-14
  • 2021-12-19
  • 2022-12-23
  • 2022-01-01
猜你喜欢
  • 2021-09-07
  • 2021-05-15
  • 2021-07-01
  • 2021-08-31
  • 2021-06-26
  • 2022-12-23
  • 2021-04-15
相关资源
相似解决方案