leetcode 114. 二叉树展开为链表(dfs)
Posted wz-archer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 114. 二叉树展开为链表(dfs)相关的知识,希望对你有一定的参考价值。
给定一个二叉树,原地将它展开为链表。
例如,给定二叉树
1
/
2 5
/
3 4 6
将其展开为:
1
2
3
4
5
6
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: TreeNode* h; void dfs(TreeNode* root){ if(root!=NULL){ if(root->right!=NULL)dfs(root->right); if(root->left!=NULL)dfs(root->left); root->right=h; root->left=NULL; h=root; } } void flatten(TreeNode* root) { h=NULL; dfs(root); } };
以上是关于leetcode 114. 二叉树展开为链表(dfs)的主要内容,如果未能解决你的问题,请参考以下文章
[LeetCode] 114. 二叉树展开为链表 ☆☆☆(深度遍历)