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. 二叉树展开为链表(dfs)

[LeetCode] 114. 二叉树展开为链表 ☆☆☆(深度遍历)

[LeetCode] 114. 二叉树展开为链表

LeetCode(114): 二叉树展开为链表

LeetCode第114题—二叉树展开为链表—Python实现

Leetcode No.114 二叉树展开为链表