C语言求值为x的结点在二叉树中的层次

256 阅读1分钟

C语言求值为x的结点在二叉树中的层次

一、如果函数自变量中有用来作为当前结点深度的参数,照例子:

QQ图片20210524193827.png 采用递归调用,解题大概思路为:

}YLKT4Q6EYN5QB_IO4ECXJC.png 二、如果函数自变量中没有用来作为当前结点深度的参数,那就自己定义一个,照例子:

QQ图片20210524194526.jpg

另外,这里面的部分代码也可以改写成lever=num1>num2?num1:num2;

总结一下,该题的递归思想也可以这么认为:

一般地,我们主观认为求层次是从上自下开始数层数,但这里是从下往上数,比如下面一颗树

     a           3
        b        2
     c           1
  d     e
  

如果我们要找的节点是c,c层次 n=1,上溯到b:n=2 ,到a:n=3

多谢各位的观看哈!