j**********3 发帖数: 3211 | 1 看了好多个版本都晕了。。。
谁有好点的答案,java的 |
M*******a 发帖数: 1633 | |
j**********3 发帖数: 3211 | 3 上代码
【在 M*******a 的大作中提到】 : 左右子树分别中序整一下不就好了?
|
M*******a 发帖数: 1633 | 4 这种么都是思路简单,写起来么还是挺繁琐的
【在 j**********3 的大作中提到】 : 上代码
|
j**********3 发帖数: 3211 | 5 就是因为麻烦,才让你上代码。
思路,我也有。
一写就蒙
【在 M*******a 的大作中提到】 : 这种么都是思路简单,写起来么还是挺繁琐的
|
M*******a 发帖数: 1633 | 6 就是左右子数都返回个sorted list,这回个list包含头尾指针,然后再三段连起来。
【在 j**********3 的大作中提到】 : 就是因为麻烦,才让你上代码。 : 思路,我也有。 : 一写就蒙
|
j**********3 发帖数: 3211 | 7 你这不是最简的。
【在 M*******a 的大作中提到】 : 就是左右子数都返回个sorted list,这回个list包含头尾指针,然后再三段连起来。
|
M*******a 发帖数: 1633 | 8 这显然应该O(n)了吧,还不简单
不可能有更简单了吧。
【在 j**********3 的大作中提到】 : 你这不是最简的。
|
j**********3 发帖数: 3211 | 9 你这个占用额外空间。。。
这个是cc150上的。。。。
你这个好像是第一种解法?
【在 M*******a 的大作中提到】 : 这显然应该O(n)了吧,还不简单 : 不可能有更简单了吧。
|
M*******a 发帖数: 1633 | 10 不额外申请空间,但是要logn的recursion space.
bst的left/right child就变成double linked list的前后指针阿
【在 j**********3 的大作中提到】 : 你这个占用额外空间。。。 : 这个是cc150上的。。。。 : 你这个好像是第一种解法?
|
|
|
j**********3 发帖数: 3211 | 11 对对对,就是这个方法,我一写就蒙了。。
【在 M*******a 的大作中提到】 : 不额外申请空间,但是要logn的recursion space. : bst的left/right child就变成double linked list的前后指针阿
|
y***n 发帖数: 1594 | |
j**********3 发帖数: 3211 | 13 我就是看这个看晕了。。。
我写java的。。。
看过这个,看过cc150的答案,觉得晕。。
【在 y***n 的大作中提到】 : LeetCode solution : http://leetcode.com/2010/11/convert-binary-search-tree-bst-to.h
|
s**x 发帖数: 7506 | 14
leetcode 里边有个Stanford 的link 就是递归左右子树建double linked list, 然后
合并list.
很简单。
【在 j**********3 的大作中提到】 : 我就是看这个看晕了。。。 : 我写java的。。。 : 看过这个,看过cc150的答案,觉得晕。。
|
y***n 发帖数: 1594 | 15 这个Recursive还算规矩的。建议每天早上起来看3边。
还有Recursion的关键是吧Recursion的部分看作是你的小伙伴的工作,相信他,不要想
这他到底干了什么。这个题其实很经典。Standford的网上说这是"one of the neatest
recursive pointer problems ever devised"
【在 j**********3 的大作中提到】 : 我就是看这个看晕了。。。 : 我写java的。。。 : 看过这个,看过cc150的答案,觉得晕。。
|