求二叉树结点上的路径
时间: 2024-02-27 13:55:04 浏览: 53
数据结构大作业求二叉树上结点的路径.zip
5星 · 资源好评率100%
如果您要求二叉树结点上的路径,可以采用递归的方式进行求解。具体步骤如下:
1. 定义一个递归函数,输入参数为当前节点和当前路径。
2. 如果当前节点为空,则直接返回。
3. 如果当前节点不为空,将当前节点的值加入当前路径。
4. 如果当前节点为叶子节点,则打印当前路径。
5. 如果当前节点不为叶子节点,则继续递归遍历左子树和右子树,分别传入左子树和右子树节点以及当前路径。
6. 在递归结束后,将当前节点从当前路径中弹出。
下面是一个示例代码,供您参考:
```
void printPath(Node* node, vector<int>& path) {
if (node == NULL) {
return;
}
path.push_back(node->val);
if (node->left == NULL && node->right == NULL) {
for (int i = 0; i < path.size(); i++) {
cout << path[i] << " ";
}
cout << endl;
} else {
printPath(node->left, path);
printPath(node->right, path);
}
path.pop_back();
}
```
阅读全文