Given a binary tree, count the number of uni-value subtrees.

A Uni-value subtree means all nodes of the subtree have the same value.

For example:
Given binary tree,

              5/ \1   5/ \   \5   5   5

return 4.

递归解题。如果root == null,返回true。如果左右都是true,而且root.val == root.left.val,root.val == root.right.val,count ++返回true,否则返回false。代码如下:

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
public class Solution {int count;public int countUnivalSubtrees(TreeNode root) {count = 0;helper(root);return count;}private boolean helper(TreeNode root) {if (root == null) {return true;}boolean left = helper(root.left);boolean right = helper(root.right);if (left & right) {if (root.left != null && root.val != root.left.val) {return false;}if (root.right != null && root.val != root.right.val) {return false;}count ++;return true;}return false;}
}

250. Count Univalue Subtrees相关推荐

  1. LeetCode 250. Count Univalue Subtrees

    原题链接在这里:https://leetcode.com/problems/count-univalue-subtrees/ 题目: Given a binary tree, count the nu ...

  2. 继续过中等难度.0309

      .   8  String to Integer (atoi)    13.9% Medium   . 151 Reverse Words in a String      15.7% Mediu ...

  3. 二叉树总结(二)树的遍历

    该文我会用来总结二叉树相关的知识 二叉树如下图: 二叉树的结构 struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode(int ...

  4. LEETCODE-刷题个人笔记 Python(1-400)-TAG标签版本

    1. Array (1) 27. Remove Element(Easy) 给定数组nums和值val,在适当位置删除该值的所有实例并返回新长度. 思路: 不需要使用排序,如果等于该值,则将n-1的值 ...

  5. LeetCode All in One 题目讲解汇总(持续更新中...)

    原文地址:https://www.cnblogs.com/grandyang/p/4606334.html 终于将LeetCode的大部分题刷完了,真是漫长的第一遍啊,估计很多题都忘的差不多了,这次开 ...

  6. vim复制单个字符_vim文本编辑器——删除、复制、剪切、更改某一个字符、替换、撤销、关键字搜索...

    1.删除: (1)删除光标所在处的字符: 如上图所示:点击一次x键只能删除一个字符. (2)删除光标所在处后的n个字符(nx): 删除前: 输入6x: (3)删除光标所在的行(dd): 删除前: 输入 ...

  7. PTA查找最后一个250 (20 分)

    PTA查找最后一个250 *对方不想和你说话,并向你扔了一串数-- 而你必须从这一串数字中找到"250"这个高大上的感人数字. 输入格式: 输入在一行中给出不知道多少个绝对值不超过 ...

  8. linux apache配置目录大小写,linux apache 配置URL地址栏大小写不敏感配置

    Servlet3.0的可插拔功能 如果说 3.0 版本新增的注解支持是为了简化 Servlet/ 过滤器 / 监听器的声明,从而使得 web.xml 变为可选配置, 那么新增的可插性 (pluggab ...

  9. [05]EXTJS4.0的读写器reader,writer

    Reader:主要用于将proxy数据代理读取的数据按照不同的规则进行解析,将解析好的数据保持到Model(数据模型类)中 结构图  Ext.data.reader.Reader  读取器的根类 Ex ...

最新文章

  1. 多台服务器通过ssh 无密钥直接登陆主机
  2. 基于Xcode安装CocoaPods报错
  3. SAP MPS、MRP名词解释
  4. ssm(Spring、Springmvc、Mybatis)实战之淘淘商城-第七天(非原创)
  5. vim 常用快捷键总结
  6. linux webservice端口号,解决在Linux环境下访问webservice发送中文乱码问题的方案
  7. Java8 Stream详解~遍历/匹配(foreach/find/match)
  8. [译]JavaScript async / await:好处、坑和正确用法
  9. day①:py流程控制
  10. 扩展php-bcmath,centos安装PHP扩展(bcmath)
  11. 计算机0表示负数,计算机原码反码补码_0
  12. dell保修及其升级3CC
  13. MySQL的开发技巧2
  14. E/art﹕Failed sending reply to debugger: Broken pipe的解决方法
  15. CentOS下安装EDM工具
  16. ​防火墙国标正式实施|美创科技解读数据库防火墙关键能力
  17. ff14 人最多的服务器,记录FF14全服人数最少的服务器红茶川
  18. 微信小程序 自动解决分包大小问题_微信小程序-分包 -每包2M
  19. 通过各种实践活动 培养学生道德品质
  20. iphone分辨率终极指南(含iphone6/6+)

热门文章

  1. UE4 后期材质节点学习
  2. 海岛奇兵服务器维护中怎么办,海岛奇兵无法更新解决方法介绍
  3. tp框架该网页无法正常运作的一个坑
  4. linux配置dns心得体会,dns实训报告心得体会.doc
  5. design contains shelved or modified (but not repoured) polygons. the result....继续铺铜还是报警,解决方案如下:
  6. 中国shopify们的来处与归途
  7. Java8 通过foreach 遍历List,同时输出下标
  8. 奥利给!搞定JVM就靠它了!不看感觉错过一个亿!吐血整理两个月,原创!全网第一份超详细JVM知识点导图!!!
  9. Android系统基础介绍
  10. 以计算机之眼观照生活 以人工智能之慧理解人类