zoukankan      html  css  js  c++  java
  • 计算二叉树叶子节点及节点数量

    void cc(TNode *t,int &n){  //计算节点数量 
        if(t!=NULL){
            n++;
            cc(t->lchild,n);
            cc(t->rchild,n);
        }
    }
    
    void leaf(TNode *t,int &n){   //叶子计算
        if(t!=NULL){
            if(t->lchild==NULL && t->rchild==NULL) n++;
            leaf(t->lchild,n);
            leaf(t->rchild,n);
        }
    }

    说明:在二叉树的递归遍历中,每个节点会且只会被访问一次。在执行完当前的函数后,会返回上一层函数继续执行未执行完的函数语句。也就是说,最先执行完整个函数的语句的是递归的最后一层。

    调用:

    int n=0;

    leaf(t,n);

    cc(t,n);

  • 相关阅读:
    join
    PS1-4
    tftp + bras
    awk调用shell
    curl
    ssh
    查看cp进度,使用watch
    tftp
    scp 链接文件的问题 + tar
    mysql必知必会(三、使用mysql)
  • 原文地址:https://www.cnblogs.com/BreezeFeng/p/14037955.html
Copyright © 2011-2022 走看看