Flatten Binary Tree to Linked List Total Accepted: 45093 Total Submissions: 156588

来源:互联网 发布:eva625软件下载 编辑:程序博客网 时间:2024/06/05 06:32

题目来自于LeetCode

https://leetcode.com/problems/flatten-binary-tree-to-linked-list/


Given a binary tree, flatten it to a linked list in-place.

For example,
Given

         1        / \       2   5      / \   \     3   4   6

The flattened tree should look like:
   1    \     2      \       3        \         4          \           5            \             6

click to show hints.

Hide Tags
 Tree Depth-first Search
Have you met this question in a real interview?


/** * Definition for binary tree * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    void flatten(TreeNode *root) {        if(root==NULL)            return ;         if(root->left!=NULL)         {             TreeNode *tmp=root->right;             TreeNode *cur=root->left;             root->right=root->left;             while(cur->right!=NULL)               cur=cur->right;              cur->right=tmp;              root->left=NULL;         }              flatten(root->right);     }};





0 0
原创粉丝点击