采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
关于二叉树求最小绝对值的那个
最简单的方法:任意顺序遍历一遍二叉树,将所有节点的值存储在数组中,之后对数组排序,相邻元素相减,找差的最小值。这个思路参见:https://github.com/liuyubobobo/Play-Leetcode/blob/master/0530-Minimum-Absolute-Difference-in-BST/java-0530/src/Solution.java
由于题目给定的树是二分搜索树,所有直接使用中序遍历,就可以得到所有元素的升序排序结果。省去了排序的过程。这个思路参见:https://github.com/liuyubobobo/Play-Leetcode/blob/master/0530-Minimum-Absolute-Difference-in-BST/java-0530/src/Solution2.java
我们之前的方法都是先预存所有的元素到数组中,再找到解。实际上完全可以在中序遍历的过程中,一边遍历一边去寻找这个解。这样做省去了预存所有元素到数组中的空间开销。这个思路参见:https://github.com/liuyubobobo/Play-Leetcode/blob/master/0530-Minimum-Absolute-Difference-in-BST/java-0530/src/Solution3.java
感谢老师的帮助!!
登录后可查看更多问答,登录/注册
动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…
10.4k 16
1.4k 17
1.4k 14
1.3k 14