您的位置:首页 > 其它

[LeetCode]Recover Binary Search Tree

2015-08-02 04:00 357 查看
原题链接

一题一句:
BST 的内在性质,inorder traversal 里遵循的左小右大关系是突破口,俩个node错位最多只会导致出现俩次左大右小,只需交换第一次的前一个和第二次的后一个,若只有一次错位,则很简单。

经典题目补充:简而言之,java 传参传入的是指针,一担指针地址在方程内被改写,指针便与原来的地址失去关联。

这个题目有一点很有启发性,尤其对于java语言的新手。prev传参数是用一个arrayList(尽管只有一个node),如果把prev 当成ListNode 传入,是不对的。Java的传参,传的是指针的值。所以你可以认为是传reference ,也可以认为传copy。因为它传的是reference的copy(本质上异与value的copy)。所以一但你把这个reference 指向了别的obj,从此这个变量名就与起初它指向的值失去了关联。 他开始指向新的obj了。 简而言之,传入了指针,一担指针地址被改写,指针便不再指向原来的地址。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: