题目来自于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 6The flattened tree should look like: 1\2\3\4\5\6
Hide Tags
TreeDepth-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);}};
,宁愿停歇在你门前的那棵树上,看着你,守护你。