Leetcode 156. Binary Tree Upside Down (Medium) (cpp)

来源:互联网 发布:游戏币交易平台源码 编辑:程序博客网 时间:2024/05/16 16:04

Leetcode 156. Binary Tree Upside Down (Medium) (cpp)

Tag: Tree

Difficulty: Medium


/*156. Binary Tree Upside Down (Medium)Given a binary tree where all the right nodes are either leaf nodes with a sibling (a left node that shares the same parent node) or empty, flip it upside down and turn it into a tree where the original right nodes turned into left leaf nodes. Return the new root.For example:Given a binary tree {1,2,3,4,5},1/ \2   3/ \4   5return the root of the binary tree [4,5,2,#,#,3,1].4/ \5   2/ \3   1*//*** 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* upsideDownBinaryTree(TreeNode* root) {if (root == NULL || root->left == NULL) {return root;}TreeNode *node = upsideDownBinaryTree(root->left);root->left->left = root->right;root->left->right = root;root->left = NULL;root->right = NULL;return node;}};


0 0
原创粉丝点击