宁波网站建设哪家公司好,微信嵌入网站开发,枣强网站建设,自助分红网站建设1. 题目
给定一个树#xff0c;按中序遍历重新排列树#xff0c;使树中最左边的结点现在是树的根#xff0c;并且每个结点没有左子结点#xff0c;只有一个右子结点。
示例 #xff1a;输入#xff1a;[5,3,6,2,4,null,8,1,null,null,null,7,9]5/ \3 6/ \ \2 4…1. 题目
给定一个树按中序遍历重新排列树使树中最左边的结点现在是树的根并且每个结点没有左子结点只有一个右子结点。
示例 输入[5,3,6,2,4,null,8,1,null,null,null,7,9]5/ \3 6/ \ \2 4 8/ / \
1 7 9输出[1,null,2,null,3,null,4,null,5,null,6,null,7,null,8,null,9]1\2\3\4\5\6\7\8\9 来源力扣LeetCode 链接https://leetcode-cn.com/problems/increasing-order-search-tree 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题
二叉树中序遍历 class Solution {
public:TreeNode* increasingBST(TreeNode* root) {bool getroot false;stackTreeNode* stk;TreeNode *newroot, *prev, *cur;while (root || !stk.empty()){while(root){stk.push(root);root root-left;}root stk.top();if(!getroot){newroot new TreeNode(root-val);prev newroot;getroot true;}else{cur new TreeNode(root-val);prev-right cur;prev cur;}stk.pop();root root-right;}return newroot;}
};# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val0, leftNone, rightNone):
# self.val val
# self.left left
# self.right right
class Solution:def increasingBST(self, root: TreeNode) - TreeNode:prev Nonehead Nones []while root or len(s)0:while root:s.append(root)cur rootroot root.leftcur.left Noneroot s.pop()if prev:prev.right rootelse:head rootprev rootroot root.rightreturn head36 ms 14.9 MB Python3