-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSolution_116.java
More file actions
69 lines (62 loc) · 1.43 KB
/
Solution_116.java
File metadata and controls
69 lines (62 loc) · 1.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package com.hilbert25.leetcode;
import java.util.LinkedList;
import java.util.Queue;
/**
* @author : hilbert25
* @version 创建时间:2017年5月12日 上午11:00:22 LeetCode com.hilbert25.leetcode
* Solution_116
*/
public class Solution_116 {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
public class TreeLinkNode {
int val;
TreeLinkNode left, right, next;
TreeLinkNode(int x) {
val = x;
}
}
// /**
// * @param root
// */
// public void connect(TreeLinkNode root) {
// Queue<TreeLinkNode> queue = new LinkedList<TreeLinkNode>();
// if (root == null)
// return;
// queue.offer(root);
// while (!queue.isEmpty()) {
// int count = queue.size();
// TreeLinkNode pre = null;
// for (int i = 0; i < count; i++) {
// TreeLinkNode node = queue.poll();
// if (node.left != null) {
// queue.offer(node.left);
// }
// if (node.right != null) {
// queue.offer(node.right);
// }
// if (pre != null)
// pre.next = node;
// pre = node;
// }
//
// }
// }
public void connect(TreeLinkNode root) {
TreeLinkNode beginNode = root;
while (beginNode != null) {
TreeLinkNode curNode = beginNode;
while (curNode != null) {
if (curNode.left != null) {
curNode.left.next = curNode.right;
}
if (curNode.right != null && curNode.next != null) {
curNode.right.next = curNode.next.left;
}
curNode = curNode.next;
}
beginNode = beginNode.left;
}
}
}