114. Flatten Binary Tree to Linked List (Medium)

来源:互联网 发布:公安部网络安全保卫局 编辑:程序博客网 时间:2024/06/03 13:49

Leetcode 114. Flatten Binary Tree to Linked List (Medium) (cpp)

Tag: Tree, Depth-first Search

Difficulty: Medium


/*114. Flatten Binary Tree to Linked List (Medium)Given a binary tree, flatten it to a linked list in-place.For example,Given1/ \2   5/ \   \3   4   6The flattened tree should look like:1\2\3\4\5\6*//*** 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:void flatten(TreeNode *root) {while (root) {if (root->left && root->right) {TreeNode* t = root->left;while (t->right) {t = t->right;}t->right = root->right;}if (root->left) {root->right = root->left;}root->left = NULL;root = root->right;}}};


0 0
原创粉丝点击