bullshitter 2021-09-18 22:28 采纳率: 0%
浏览 41

二叉树的左右子结点交换传参数问题

假设二叉树的一个结点为node,它的左右子节点分别为node.left,node.right。为什么方法一能交换node结点的左右子节点,而方法二不能交换node结点的左右子节点啊

方法一

swap(node);
public void swap(TreeNode node) {
   TreeNode temp = node.left;
   node.left = node.right;
   node.right = temp;
}

方法二

swap(node.left, node.right);
public void swap(TreeNode left, TreeNode right) {
    TreeNode temp = left;
    left = right;
    right = temp;
}
  • 写回答

1条回答 默认 最新

  • 关注

    方法二不行,要通过父节点对象,才能改变左孩子及右孩子的节点。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月18日