Merge pull request #8 from algorithmzuo/master

20201209
pull/3/head
ThankyouEverybody 5 years ago committed by GitHub
commit fb025cd392
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,5 +0,0 @@
package class06;
public class Test {
}

@ -1,4 +1,4 @@
package class06;
package class06_09;
import java.util.ArrayList;

@ -1,4 +1,4 @@
package class06;
package class06_09;
import java.util.Stack;

@ -1,4 +1,4 @@
package class06;
package class06_09;
public class Code03_SmallerEqualBigger {

@ -1,4 +1,4 @@
package class06;
package class06_09;
import java.util.HashMap;

@ -1,6 +1,6 @@
package class06;
package class06_10;
public class Code05_FindFirstIntersectNode {
public class Code01_FindFirstIntersectNode {
public static class Node {
public int value;

@ -1,24 +0,0 @@
package class07;
public class Code08_PaperFolding {
public static void printAllFolds(int N) {
printProcess(1, N, true);
}
// 递归过程,来到了某一个节点,
// i是节点的层数N一共的层数down == true 凹 down == false 凸
public static void printProcess(int i, int N, boolean down) {
if (i > N) {
return;
}
printProcess(i + 1, N, true);
System.out.println(down ? "凹 " : "凸 ");
printProcess(i + 1, N, false);
}
public static void main(String[] args) {
int N = 3;
printAllFolds(N);
}
}

@ -1,4 +1,4 @@
package class07;
package class07_10;
public class Code01_RecursiveTraversalBT {

@ -1,9 +1,9 @@
package class07;
package class07_11;
import java.util.LinkedList;
import java.util.Queue;
public class Code03_LevelTraversalBT {
public class Code01_LevelTraversalBT {
public static class Node {
public int value;

@ -1,10 +1,10 @@
package class07;
package class07_11;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;
public class Code04_SerializeAndReconstructTree {
public class Code02_SerializeAndReconstructTree {
/*
*
*
@ -129,7 +129,7 @@ public class Code04_SerializeAndReconstructTree {
Queue<Node> queue = new LinkedList<Node>();
queue.add(head);
while (!queue.isEmpty()) {
head = queue.poll();
head = queue.poll(); // head 父 子
if (head.left != null) {
ans.add(String.valueOf(head.left.value));
queue.add(head.left);

@ -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;
package class07_11;
public class Code05_PrintBinaryTree {
public class Code04_PrintBinaryTree {
public static class Node {
public int value;

@ -1,10 +1,10 @@
package class07;
package class07_11;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Queue;
public class Code06_TreeMaxWidth {
public class Code05_TreeMaxWidth {
public static class Node {
public int value;

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

@ -0,0 +1,28 @@
package class07_11;
public class Code07_PaperFolding {
public static void printAllFolds(int N) {
process(1, N, true);
System.out.println();
}
// 当前你来了一个节点,脑海中想象的!
// 这个节点在第i层一共有N层N固定不变的
// 这个节点如果是凹的话down = T
// 这个节点如果是凸的话down = F
// 函数的功能:中序打印以你想象的节点为头的整棵树!
public static void process(int i, int N, boolean down) {
if (i > N) {
return;
}
process(i + 1, N, true);
System.out.print(down ? "凹 " : "凸 ");
process(i + 1, N, false);
}
public static void main(String[] args) {
int N = 4;
printAllFolds(N);
}
}

@ -1,8 +1,8 @@
package class08;
package class08_12;
import java.util.LinkedList;
public class Code06_IsCBT {
public class Code01_IsCBT {
public static class Node {
public int value;

@ -1,8 +1,8 @@
package class08;
package class08_12;
import java.util.ArrayList;
public class Code03_IsBST {
public class Code02_IsBST {
public static class Node {
public int value;

@ -1,6 +1,6 @@
package class08;
package class08_12;
public class Code01_IsBalanced {
public class Code03_IsBalanced {
public static class Node {
public int value;

@ -1,6 +1,6 @@
package class08;
package class08_12;
public class Code02_IsFull {
public class Code04_IsFull {
public static class Node {
public int value;

@ -1,8 +1,8 @@
package class08;
package class08_12;
import java.util.ArrayList;
public class Code04_MaxSubBSTSize {
public class Code05_MaxSubBSTSize {
public static class Node {
public int value;

@ -1,8 +1,8 @@
package class08;
package class08_12;
import java.util.ArrayList;
public class Code05_MaxSubBSTHead {
public class Code06_MaxSubBSTHead {
public static class Node {
public int value;

@ -1,4 +1,4 @@
package class08;
package class08_12;
import java.util.ArrayList;
import java.util.HashMap;

@ -1,4 +1,4 @@
package class08;
package class08_12;
import java.util.ArrayList;
import java.util.HashMap;

@ -1,4 +1,4 @@
package class08;
package class08_12;
import java.util.ArrayList;
import java.util.List;
Loading…
Cancel
Save