216 遞增順序查詢樹

2021-09-18 02:03:06 字數 951 閱讀 7361

題目描述:

如果不考慮其他因素,直接使用的是中序遍歷,將其節點放入到乙個list中,然後針對list中的節點進行重新的定義其左子樹為null,右子樹為下乙個節點,**如下

class solution 

s(root, tem);

for (int i = 0; i < tem.size() - 1; i++)

tem.get(tem.size() - 1).left = null;

tem.get(tem.size() - 1).right = null;

return tem.get(0);

}public void s(treenode root,listtem)

s(root.left, tem);

tem.add(root);

s(root.right, tem); }

}

換種思路繼續

class solution 

treenode leftnode=increasingbst(root.left);

treenode rightnode=increasingbst(root.right);

treenode tmpnode =leftnode;

if(leftnode!=null)

tmpnode.right=root;

}else

root.left=null;

root.right=rightnode;

return leftnode;}}

遞增順序查詢樹

給定乙個樹,按順序重新排列樹,使樹中最左邊的結點現在是樹的根,並且每個結點沒有左子結點,只有乙個右子結點。示例 輸入 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,nul...

897 遞增順序查詢樹

給定乙個樹,按中序遍歷重新排列樹,使樹中最左邊的結點現在是樹的根,並且每個結點沒有左子結點,只有乙個右子結點。示例 輸入 5,3,6,2,4,null,8,1,null,null,null,7,9 5 36 248 17 9輸出 1,null,2,null,3,null,4,null,5,null,...

897 遞增順序查詢樹

給定乙個樹,按中序遍歷重新排列樹,使樹中最左邊的結點現在是樹的根,並且每個結點沒有左子結點,只有乙個右子結點。示例 輸入 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,...