题型1:打印一颗二叉树的全部路径
主要思路:先按照正常递归遍历二叉树的办法,递归遍历各个元素并存入零时路径path
在到达一个叶子节点后便可循环将path转为字符串随即结束某一条路径即return出去,该路径结束后可知在上次递归中path路径尾删达到回退的效果。
具体流程如下
示例代码如下:
#include<iostream;
using namespace std;
vector<string>temp;
vector<int>vec;
void Print(treenode*root,vector<strirng>&sumpath,vector<int>&path)
{
path.pushback(root->val);
if(root->left==NULL&&root->right==NULL)
{
string pathstring;
for(int i=0;i<path.size();i++)
{
pathstring+=tostring(path[i]);
pathstring+="->";
sumpath.pushback(pathstring);
}
return;
}
if(root->left)
{
Print(root->left,sumpath,path);
path,popback();
}
if(root->right)
{
Print(root->left,sumpath,path);
path,popback();
}
};
如果觉得有用点个赞吧