BugBlog 发表于 2024-12-11 更新于 2024-12-25 分类于 JAVA 阅读次数: Waline: 本文字数: 1 阅读时长 ≈ 1 分钟 problem123456789101112131415//JAVA// Wrong!!!,这样写改不了树,put不进去// public void NonrecursivePut(Key key,Value val){// if(key==null)throw new IllegalArgumentException("the 1st of Put() is null");// Node x = root;// while(x!=null){// int cmp = key.compareTo(x.key);// if(cmp>0) x=x.right;// else if(cmp<0) x= x.left;// else x.val=val;// }// x=new Node(key,val);Wrong!!因为只是将临时引用指向了新创建的对象,而实际的x.left或x.right引用依然为null// }//Solution: 记录父节点,通过修改父节点.left和right进行