采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
//删除最小节点public E removeMin() { E ret = minimum(); root = removeMin(root); return ret;}
root = removeMin(root);
我认为这里没必要把removeMin的返回值重新复制给root,因为removeMin中传入的root引用,在方法中已经重新删除了啊。
如果二分搜索树中只有一个节点,当前这一个节点就是root,root节点就是整个二分搜索树的最小值。此时removeMin(root)后的结果(为null)如果不赋值会root,则没有删除掉这个节点:)试试看?
加油!:)
登录后可查看更多问答,登录/注册
动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…
10.3k 16
1.4k 17
1.3k 14
1.2k 14