请问 [1, null, 2, 3] 在二叉树测试用例中代表什么

力扣发表于:2018年10月26日 早上 00:39:08更新于:2019年05月21日 下午 4:32:22

[1, null, 2, 3] 是个串行化格式,表达了一个水平顺序遍历的二叉树。其中,你可以使用 null 来表达某一分支上没有子节点。为了方便您的深入理解,请参考一下示例:

  1. []

    Empty tree. The root is a reference to NULL (C/C++), null (Java/C#/Javascript), None (Python), or nil (Ruby).
  2. [1, 2, 3]

         1
        / \
       2   3
  3. [1, null, 2, 3]

         1
          \
           2
          /
         3
  4. [5, 4, 7, 3, null, 2, null, -1, null, 9]

          5
         / \
        4   7
       /   /
      3   2
     /   /
    -1  9

回复(9)

  • FfFJ

    问您一下,对于[1,null,2,3],我觉得应该是[1,null,2,null,null,3],这里您是默认把null为根节点的省略了吗

  • arliang

    第一个null是根结点1的左节点,2是根结点1的右节点,3是2的左节点,到此结束了

    你的2的自节点都是null,3无处安放了

  • arliang

    你的2的子节点都是null,3无处安放了

    引用 arliang 的回复:

    第一个null是根结点1的左节点,2是根结点1的右节点,3是2的左节点,到此结束了你的2的自节点都是null,3无处安放了

  • Crayons

    先左后右,3在左边,如果3在右边才是你说的

    引用 JiangFight 的回复:

    问您一下,对于[1,null,2,3],我觉得应该是[1,null,2,null,null,3],这里您是默认把null为根节点的省略了吗

  • 66615

    他的意思是用 null 填补每个空位,如果 3 是 2 的右子节点应该是:[1, null, 2, null, 3]。

    引用 wsuo 的回复:

    先左后右,3在左边,如果3在右边才是你说的

  • Bruce-pac

    为什么不表示成改造后完全二叉树的顺序表示法

  • 王虎剩大将军

    括号表示法他不香么?

  • Eric

    就是层序遍历啊

  • guaguag

    可以有生成代码嘛