LeetCode 114. 二叉树展开为链表(递归)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 114. 二叉树展开为链表(递归)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 題目
給定一個二叉樹,原地將它展開為鏈表(右側路徑)。
例如,給定二叉樹1/ \2 5/ \ \ 3 4 6 將其展開為:1\2\3\4\5\6來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 遞歸解題
class Solution { public:void flatten(TreeNode* root) {f(root);}TreeNode* f(TreeNode* root)//返回的是最底端的節點指針{if(!root)return NULL;TreeNode *l = f(root->left);TreeNode *r = f(root->right);if(!l && !r)return root;else if(!l && r)return r;else if(l && !r){swap(root->left,root->right);return l;}else{swap(root->left,root->right);l->right = root->left;root->left = NULL;return r;}} };- 評論區簡潔題解
總結
以上是生活随笔為你收集整理的LeetCode 114. 二叉树展开为链表(递归)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 165. 比较版本号
- 下一篇: LeetCode 72. 编辑距离(DP