From edcfebc814f275e7f6cac9652bf2ccc8d34cec5e Mon Sep 17 00:00:00 2001 From: bluecrow1986 <61398816+bluecrow1986@users.noreply.github.com> Date: Thu, 15 Jul 2021 15:32:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A4=E7=A9=BA=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 由于题中的Node的构造器其中无参和有一个参数的构造器中,关于List children可能会存在空,所以当List为空时encode的递归方法会存在空指针的问题;同理decode的递归也会存在本来是null的children被赋值为非null的空ArrayList --- src/class11/Code03_EncodeNaryTreeToBinaryTree.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/class11/Code03_EncodeNaryTreeToBinaryTree.java b/src/class11/Code03_EncodeNaryTreeToBinaryTree.java index aa9f2ab..f8515ec 100644 --- a/src/class11/Code03_EncodeNaryTreeToBinaryTree.java +++ b/src/class11/Code03_EncodeNaryTreeToBinaryTree.java @@ -58,7 +58,7 @@ public class Code03_EncodeNaryTreeToBinaryTree { cur.right = tNode; } cur = tNode; - cur.left = en(child.children); + cur.left = child.children != null ? en(child.children) : null; } return head; } @@ -72,7 +72,7 @@ public class Code03_EncodeNaryTreeToBinaryTree { } public List de(TreeNode root) { - List children = new ArrayList<>(); + List children = root != null ? new ArrayList<>() : null; while (root != null) { Node cur = new Node(root.val, de(root.left)); children.add(cur);