//前序遍历
struct TreeNode
{
int val;
TreeNode* left;
TreeNode* right;
TreeNode():val(0),left(NULL),right(NULL){}
TreeNode(int x):val(x),left(NULL),right(NULL){}
TreeNode(int x,TreeNode* left,TreeNode* right):val(x),left(left),right(right){}
};
class solution
{
public:
void preOrder(TreeNode* root,vector<TreeNode*>& vec)
{
if(root!=NULL)
{
vec.push_back(root);
preOrder(root->left,vec);
preOrder(root->right,vec);
}
return;
}
void Treverse_to_list(TreeNode* root)
{
vector<TreeNode*> vec;
preOrder(root,vec);
int len=vec.size();
for(int i=1;i<len;i++)
{
TreeNode* pre=vec[i-1];
TreeNode* temp=vec[i]'
pre->left=NULL;
pre->right=temp;
}
return;
}
};
c++将二叉树展开为单链表(LeetCode每日一题)
最新推荐文章于 2022-05-26 19:01:17 发布