Skip to content

Commit 47ae0b6

Browse files
authored
Merge pull request gzc426#338 from PYTWSW/master
create WhiteNight.md
2 parents ad218f7 + 22e5f7c commit 47ae0b6

File tree

2 files changed

+129
-0
lines changed

2 files changed

+129
-0
lines changed

2018.12.05-leetcode102/WhiteNight.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
>```java
2+
>/**
3+
> * 二叉树的层次遍历1
4+
> * 给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。
5+
> *
6+
> */
7+
>public class Tree10
8+
>{
9+
> public static class TreeNode
10+
> {
11+
> int data;
12+
> TreeNode left;
13+
> TreeNode right;
14+
>
15+
> TreeNode(int val)
16+
> {
17+
> data = val;
18+
> }
19+
> }
20+
>
21+
> public List<List<Integer>> levelOrder(TreeNode root)
22+
> {
23+
> //JAVA泛型,List里面存储List,就可以有[[3], [9, 20], [15, 7]]
24+
> List<List<Integer>> list = new ArrayList<>();
25+
> List<Integer> temp = new ArrayList<>();
26+
>
27+
> Queue<TreeNode> queue = new LinkedList<>();
28+
>
29+
> if (root != null)
30+
> {
31+
> queue.offer(root);
32+
> }
33+
>
34+
> int width = 1;
35+
>
36+
> while (!queue.isEmpty())
37+
> {
38+
> TreeNode node = queue.poll();
39+
> temp.add(node.data);
40+
> width--;
41+
>
42+
> if (node.left != null)
43+
> queue.add(node.left);
44+
>
45+
> if (node.right != null)
46+
> queue.add(node.right);
47+
>
48+
> if (width == 0)
49+
> {
50+
> list.add(temp);
51+
> temp = new ArrayList<>();
52+
> width = queue.size();
53+
> }
54+
>
55+
> }
56+
>
57+
> return list;
58+
> }
59+
>
60+
> public static void main(String[] args)
61+
> {
62+
> TreeNode p = new TreeNode(3);
63+
> p.left = new TreeNode(9);
64+
> p.right = new TreeNode(20);
65+
> p.right.left = new TreeNode(15);
66+
> p.right.right = new TreeNode(7);
67+
>
68+
> Tree10 t = new Tree10();
69+
>
70+
> List<List<Integer>> list= t.levelOrder(p);
71+
> for (int i = 0; i < list.size(); i++)
72+
> {
73+
> System.out.print(list.get(i) + " ");
74+
> }
75+
>
76+
> }
77+
>
78+
>}
79+
>```
80+

2018.12.07-leetcode104/WhiteNight.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
>```java
2+
>/**
3+
> * 给定一个二叉树,找出其最大深度。
4+
> *
5+
> * 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
6+
> *
7+
> * 说明: 叶子节点是指没有子节点的节点。
8+
> *
9+
> */
10+
>public class Tree1
11+
>{
12+
> public static class TreeNode
13+
> {
14+
> int data;
15+
> TreeNode left;
16+
> TreeNode right;
17+
> TreeNode(int val)
18+
> {
19+
> data = val;
20+
> }
21+
> }
22+
>
23+
> public int maxDepth(TreeNode root)
24+
> {
25+
> if (root == null)
26+
> return 0;
27+
>
28+
> int nleft = maxDepth(root.left);
29+
> int nright = maxDepth(root.right);
30+
>
31+
> return nleft > nright ? nleft + 1 : nright + 1;
32+
> }
33+
>
34+
> public static void main(String[] args)
35+
> {
36+
> TreeNode p = new TreeNode(1);
37+
> p.left = new TreeNode(2);
38+
> p.right = new TreeNode(3);
39+
> p.left.left = null;
40+
> p.left.right = null;
41+
> p.right.left = new TreeNode(4);
42+
> p.right.right = new TreeNode(5);
43+
>
44+
> Tree1 t = new Tree1();
45+
> System.out.println(t.maxDepth(p));
46+
> }
47+
>}
48+
>```
49+

0 commit comments

Comments
 (0)