r*********n 发帖数: 32 | 1 有一个bst,当中两个node被交换了,现在要 恢复BST
大家什么想法 |
F*********t 发帖数: 66 | |
W***o 发帖数: 6519 | 3 做两遍inorder traversal,然后对调两个错位的 |
o*******r 发帖数: 73 | 4 中序遍历。找到错位的记下来两个节点,这时的第二个节点不一定是答案,继续中序,
如果再找到错位的再记到第二个节点。。
最后交换两个记下来的节点的values. |
i***h 发帖数: 12655 | 5 从两头分别中序找到的第一个,然后对换,是不是更优一点点? |
o*******r 发帖数: 73 | 6 有想法。。上个代码吧。
【在 i***h 的大作中提到】 : 从两头分别中序找到的第一个,然后对换,是不是更优一点点?
|
g***i 发帖数: 4272 | 7
这得用俩栈
另外对于树来说two pointer不是那么容易
【在 i***h 的大作中提到】 : 从两头分别中序找到的第一个,然后对换,是不是更优一点点?
|
k****r 发帖数: 807 | |