zoukankan      html  css  js  c++  java
  • leetcode 250 Count Univalue Subtrees

    思路很简单,存在最优子结构,用递归自上至下解即可。

    如何判断当前root所代表的树是否为uni-value subtree?

    1. 检查root和left,right值是否一致

    2. left子树和right子树是否都为uni-value

    注意第二步,可能left,right为空,写if时要注意

     1 class Solution {  
     2     private int count;
     3     public int countUnivalSubtrees(TreeNode root) {  
     4         uni(root);  
     5         return count;  
     6     }  
     7       
     8     boolean uni(TreeNode root) {  
     9         if(root == null)  
    10             return true;  
    11         if(root.left ==null && root.right == null) {  
    12             count++;  
    13             return true;  
    14         }  
    15         bool left = uni(root.left);  
    16         bool right = uni(root.right);  
    17         if(left && right && (root.left == null || root.left.val == root.val) && (root.right == null || root.right.val == root.val)) {  
    18             count++;  
    19             return true;  
    20         }  
    21         return false;  
    22     }  
    23 }
  • 相关阅读:
    去除字符串中多余空格
    day02-03 字符编码
    eclipse与myeclipse区别
    xz解压和zip解压
    yum安装
    防火墙
    查看和操作HBA卡
    复制linux虚拟机后网卡不能用的解决方法
    关闭IPv6
    更改root密码
  • 原文地址:https://www.cnblogs.com/hwd9654/p/11361422.html
Copyright © 2011-2022 走看看