用php计算一颗二叉树深度的算法
时间: 2024-03-21 19:40:53 浏览: 18
以下是使用 PHP 计算二叉树深度的算法:
```php
class TreeNode {
public $val;
public $left = null;
public $right = null;
function __construct($val = 0, $left = null, $right = null) {
$this->val = $val;
$this->left = $left;
$this->right = $right;
}
}
function maxDepth($root) {
if ($root == null) {
return 0;
} else {
$leftDepth = maxDepth($root->left);
$rightDepth = maxDepth($root->right);
return max($leftDepth, $rightDepth) + 1;
}
}
// 示例
$root = new TreeNode(3);
$root->left = new TreeNode(9);
$root->right = new TreeNode(20);
$root->right->left = new TreeNode(15);
$root->right->right = new TreeNode(7);
echo maxDepth($root); // 输出 3
```
以上代码中,我们定义了一个 `TreeNode` 类来表示二叉树的节点。然后,我们使用递归的方式来计算二叉树的深度。如果当前节点为空,那么深度为 0;否则,分别计算左子树和右子树的深度,然后取两者的最大值再加上 1,就是当前节点的深度。最后,我们可以通过创建一个二叉树的实例,并调用 `maxDepth` 方法来计算其深度。
阅读全文
相关推荐
![md](https://img-home.csdnimg.cn/images/20250102104920.png)
![text/x-c](https://img-home.csdnimg.cn/images/20250102104920.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![cpp](https://img-home.csdnimg.cn/images/20250102104920.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)