码迷,mamicode.com
首页 > 其他好文 > 详细

【练习题】proj1 判断二叉树子树和是否为指定的值

时间:2018-08-27 16:03:07      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:指定   ret   cto   习题   return   练习题   bin   lis   技术分享   

 

 

 

技术分享图片

 

#include <stdio.h>
#include <vector>
#include <list>
#include<iostream>
using namespace std;

struct BinaryTree{
    int weight;
    struct BinaryTree *left,*right;
};
int subtree_count(const struct BinaryTree *root,int m){
    int temp_val;
    static int count = 0;
    static int result=0;
    int left=0;
    int right=0;
    int flag=0;
    if(count == 0){
        flag =1;
    }
    count ++;
    if(root==NULL){
        return 0;
    }

    if(root->left!=NULL){
        left = subtree_count(root->left,m);
    }
    if(root->right!=NULL){
        right = subtree_count(root->right,m);
    }
    temp_val = left + right+root->weight;
    if(temp_val == m)
        result++;
    if(flag)
        return result;
    else
        return temp_val;
}


int main()
{
    int input=7;
    //cin >> input;
    BinaryTree *root1 = new BinaryTree;
    root1->weight=1;

    BinaryTree *root2 = new BinaryTree;
    root2->weight=2;
    BinaryTree *root3 = new BinaryTree;
    root3->weight=6;
    BinaryTree *root4 = new BinaryTree;
    root4->weight=1;
    BinaryTree *root5 = new BinaryTree;
    root5->weight=4;root4->right=NULL;

    root1->left=root2;
    root1->right=root3;
    root2->left=root4;
    root2->right=root5;
    root4->right=NULL;
    root4->left=NULL;
    root5->right=NULL;
    root5->left=NULL;
    root3->right=NULL;
    root3->left=NULL;
    cout <<subtree_count(root1,input);
    return 0;
}

 

【练习题】proj1 判断二叉树子树和是否为指定的值

标签:指定   ret   cto   习题   return   练习题   bin   lis   技术分享   

原文地址:https://www.cnblogs.com/ray5wang/p/9542574.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!