判断给定值是否是二叉树中某条路径结点值之和
2014-10-13 10:18
211 查看
#include <iostream> using namespace std; typedef int Type; struct node { Type value; node *left; node *right; };//树结点的数据结构 node* build_tree(void); bool find(node*,int); int main() { node *tree = build_tree(); int t ; cout<<"请输入给定的值:"; cin>>t; cout<<endl; cout<<find(tree,t)<<endl; return 0; } node *build_tree()//递归法建树,停止条件,结点值为0 { Type a; cin>>a; if (a==0) { return NULL; } node *root = new node(); root->value = a; root->left = build_tree(); root->right = build_tree(); cout<<"build tree success."<<endl; return root; } bool find(node *root,int v) { if (!root) { return 0; } if (root->value==v) { return 1; } else { find(root->left,v-root->value)||find(root->right,v-root->value); } }
相关文章推荐
- 判断一个给定的路径是否是目录 isDirectory()
- 判断给定的二叉树是否为二叉排序树
- J 判断二叉树每个结点的权值是否关于根节点完全对称
- 二叉树系列---判断给定的二叉树是否为二叉查找树
- c++二叉树(统计叶节点,判断两颗二叉树是否相等,交换二叉树的左孩子右孩子,输出叶子到根节点的路径)
- 判断二叉树是否平衡以及二叉树的路径和
- 判断二叉树,是否存在一条根到叶子的路径和,与一个指定的目标数字相等
- 有一个二叉树,现在怀疑它有一个结点有2个父节点,请写出一个函数来判断该二叉树是否存在一个节点含有2个父节点。如果存在,返回true,否则返回false。
- 二叉树采用二叉链表存储,设计算法判断给定的二叉树是否是一棵完全二叉树,采用先进先出的队列。
- 判断给定的二叉树是否为二叉排序树
- 判断给定数组是否是二叉树的前序或者后序遍历结果
- 【31】给定一个二叉树打印出所有从根结点到叶子结点路径和为 k 的路径
- 二叉树中递归算法的两个应用——数(非)叶子结点的数目和判断是否是排序二叉树
- 判断给定二叉树是否是平衡二叉树
- 给定二叉树的前序和中序,判断是否可以构成一颗二叉树,如果可以输出后序
- 迷宫问题1-在给定的迷宫中判断是否存在一条路径从起点到终点
- 【二叉树的递归】03判断二叉树中有没有和为给定值的路径【Path Sum】
- 输出二叉树中路径上结点值之和为给定值的所有路径
- 【Java】给定有向图,设计一个算法,找出两个结点之间是否存在一条路径