为什么这个while会陷入死循环呢?
我再做剑指offer的:二叉树的镜像
为什么下面的while语句会陷入死循环呢?(书中举例的二叉树如下:)
/** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ public class Solution { public void Mirror(TreeNode root) { while(root.left!=null||root.right!=null){ TreeNode rootLeft = root.left; TreeNode rootRight = root.right; root.left = rootRight; root.right = rootLeft; while(root.left!=null){ System.out.println(root.left.val); Mirror(root.left); } while(root.right!=null){ System.out.println(root.right.val); Mirror(root.right); } } } }
书中举例的二叉树如下: