博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Locked] Count Univalue Subtrees
阅读量:5118 次
发布时间:2019-06-13

本文共 872 字,大约阅读时间需要 2 分钟。

Count Univalue Subtrees

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.

分析:

  有点像自低向上的动态规划,既然是自底向上,看来用递归访问树的节点无疑可以解决问题

代码:

bool dfs(TreeNode *node, int &count) {    if(!node)        return true;    //一定要让保证其先递归,达到最底层节点,然后作后续处理    bool goodleft = dfs(node->left, count), goodright = dfs(node->right, count);    //与左右节点值相同,且左右子树是值相同的树,则以该节点为根节点的树也是值相同的树    if(goodleft && goodright && (!node->left || node->val == node->left->val) && (!node->right || node->val == node->right->val)) {        count++;        return true;    }    return false;}int count(TreeNode *node) {    int num = 0;    dfs(node, num);    return num;}

 

转载于:https://www.cnblogs.com/littletail/p/5208067.html

你可能感兴趣的文章
《转》阿里负责人揭秘面试潜规则
查看>>
Json序列化与反序列化
查看>>
SQL中取得时间的一些技巧
查看>>
Redis内存使用优化与存储
查看>>
一些技术文章
查看>>
android提示框
查看>>
一个小问题引发的思考
查看>>
WPF自学入门(十一)WPF MVVM模式Command命令
查看>>
Oracle篇 之 子查询
查看>>
zzuli 1907: 小火山的宝藏收益
查看>>
nodejs 中的一些方法
查看>>
R_Studio读取xls文件
查看>>
oralce中的dual详解 转 http://blog.sina.com.cn/s/blog_a5a24bcb0100zeay.html
查看>>
Android入门
查看>>
吃得菜根,百事可为。
查看>>
用ASP.NET MVC仿站糗事百科
查看>>
安装 ant
查看>>
344. Reverse String
查看>>
Windows及其他软件开发过程中一般都有哪些版本?
查看>>
strlen、strcpy、strcat的实现
查看>>