题目
第一种写法没有改动到树,因为参数是对象时是引用传递,也就是说node变量指向节点,所以node.left = null可以将指向节点的left属性置为空,但是node=null是使node不指向任何对象,并不会改动到节点
我去看了一遍原题,其实思路没啥问题,主要是
node.left = judge(node.left);
这行代码有可能改变当前node的左节点,这样返回的node是左节点已经变化的node
而boolean left = judge(node.left);这行代码不会改变node左节点属性
无论怎么操作,返回的依然是原节点