void preorderTraversal(TreeNode* root) { if (!root) return; cout << root->val << " "; preorderTraversal(root->left); preorderTraversal(root->right); }请逐行解释
时间: 2024-03-15 22:46:36 浏览: 52
BST.rar_c++ tree node_read-bst-1
5星 · 资源好评率100%
这是一个二叉树的先序遍历函数,函数接收一个二叉树节点指针作为参数,对该二叉树进行先序遍历,输出每个节点的值。下面是函数的具体实现:
```c++
void preorderTraversal(TreeNode* root) {
if (!root) return; // 如果当前节点为空,直接返回
cout << root->val << " "; // 输出当前节点的值
preorderTraversal(root->left); // 递归遍历左子树
preorderTraversal(root->right); // 递归遍历右子树
}
```
函数执行流程如下:
1. 判断当前节点是否为空,如果为空则直接返回。
2. 输出当前节点的值。
3. 递归遍历当前节点的左子树。
4. 递归遍历当前节点的右子树。
这样,就可以通过先序遍历的方式遍历整个二叉树,并输出每个节点的值。
阅读全文