add problem leetcode 431

pull/6/head
左程云 5 years ago
parent de0d42936d
commit 3b19508d21

@ -0,0 +1,86 @@
package class07_11;
import java.util.ArrayList;
import java.util.List;
// 本题测试链接https://leetcode.com/problems/encode-n-ary-tree-to-binary-tree
public class Code03_EncodeNaryTreeToBinaryTree {
// 提交时不要提交这个类
public static class Node {
public int val;
public List<Node> children;
public Node() {
}
public Node(int _val) {
val = _val;
}
public Node(int _val, List<Node> _children) {
val = _val;
children = _children;
}
};
// 提交时不要提交这个类
public static class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) {
val = x;
}
}
// 只提交这个类即可
class Codec {
// Encodes an n-ary tree to a binary tree.
public TreeNode encode(Node root) {
if (root == null) {
return null;
}
TreeNode head = new TreeNode(root.val);
head.left = en(root.children);
return head;
}
private TreeNode en(List<Node> children) {
TreeNode head = null;
TreeNode cur = null;
for (Node child : children) {
TreeNode tNode = new TreeNode(child.val);
if (head == null) {
head = tNode;
} else {
cur.right = tNode;
}
cur = tNode;
cur.left = en(child.children);
}
return head;
}
// Decodes your binary tree to an n-ary tree.
public Node decode(TreeNode root) {
if (root == null) {
return null;
}
return new Node(root.val, de(root.left));
}
public List<Node> de(TreeNode root) {
List<Node> children = new ArrayList<>();
while (root != null) {
Node cur = new Node(root.val, de(root.left));
children.add(cur);
root = root.right;
}
return children;
}
}
}

@ -1,6 +1,6 @@
package class07_11; package class07_11;
public class Code03_PrintBinaryTree { public class Code04_PrintBinaryTree {
public static class Node { public static class Node {
public int value; public int value;

@ -4,7 +4,7 @@ import java.util.HashMap;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.Queue; import java.util.Queue;
public class Code04_TreeMaxWidth { public class Code05_TreeMaxWidth {
public static class Node { public static class Node {
public int value; public int value;

@ -1,6 +1,6 @@
package class07_11; package class07_11;
public class Code05_SuccessorNode { public class Code06_SuccessorNode {
public static class Node { public static class Node {
public int value; public int value;

@ -1,6 +1,6 @@
package class07_11; package class07_11;
public class Code06_PaperFolding { public class Code07_PaperFolding {
public static void printAllFolds(int N) { public static void printAllFolds(int N) {
printProcess(1, N, true); printProcess(1, N, true);
Loading…
Cancel
Save