抽象指针绝对不可以指向别人
抽象指针绝对不可以指向别人
but but but…
抽象指针可以比较大小,可以加减乘除,是可以运算的!!!
在树中和链表中用的比较多,因为树和链表需要递归的深度特别多,如果你每次都递归的想进去,那肯定会被绕晕,而很多时候是并不需要绕进行去的
方法的返回值是一个节点的话
public TreeNode test(TreeNode root){
…
}
返回值是TreeNode节点类型,此时的root节点代表的就是整棵树,如果递归分析比较绕,那抽象指针就派出用场了,把左右子树看成是抽象指针,这样左子树的抽象指针可以这样表示
test(root.left) // 这个方法返回的就是左子树的抽象指针了
直接把方法中的root换成root的左节点
右子树的抽象指针表示就是
test(root.right) // 这个方法返回的就是右子树的抽象指针了
这两个抽象指针单独看成是两棵树的指针,就是两棵完整的树,与之前的那棵以root为根节点的树已经没有任何关系了,分析的时候要这么分析,但最后的返回值,也就是返回的时候,就要把这两个抽象指针,看成是root的左指针抽象树,和root的右指针抽象树!!!估计你已经蒙圈了,就是你单独看这两个抽象指针树的时候,记住,是单独看的时候,这个抽象树,就是一个单独的个体,就是一颗与root为节点等价的一棵树,和root为根节点的树是平行的关系!!!但是,但是ÿ