算法练习(16)-水平翻转一颗二叉树

依旧还是层次遍历, 按层入队, 然后出队时, 交换左右节点

public static void flipTree(TreeNode node) {
    if (node == null) {
        return;
    }
    Queue<TreeNode> queue = new LinkedList<>();
    queue.add(node);
    while (!queue.isEmpty()) {
        TreeNode n = queue.poll();
        if (n.left != null) {
            queue.add(n.left);
        }
        if (n.right != null) {
            queue.add(n.right);
        }
        TreeNode left = n.left;
        TreeNode right = n.right;
        n.left = right;
        n.right = left;
    }
}

相关文章:

  • 2022-12-23
  • 2021-10-20
  • 2021-08-30
  • 2022-12-23
  • 2021-09-21
  • 2022-12-23
  • 2022-01-13
  • 2021-12-03
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-10
  • 2021-06-16
  • 2022-01-09
  • 2021-11-04
相关资源
相似解决方案