Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit5d5b125

Browse files
binary tree zigzag level order traversal
1 parent842f0c6 commit5d5b125

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
packageeasy;
2+
3+
importjava.util.ArrayList;
4+
importjava.util.Collections;
5+
importjava.util.LinkedList;
6+
importjava.util.List;
7+
importjava.util.Queue;
8+
9+
importclasses.TreeNode;
10+
11+
/**
12+
* 103. Binary Tree Zigzag Level Order Traversal
13+
*
14+
Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to right, then right to left for the next level and alternate between).
15+
16+
For example:
17+
Given binary tree [3,9,20,null,null,15,7],
18+
3
19+
/ \
20+
9 20
21+
/ \
22+
15 7
23+
return its zigzag level order traversal as:
24+
[
25+
[3],
26+
[20,9],
27+
[15,7]
28+
]
29+
*/
30+
publicclassBinaryTreeZigzagLevelOrderTraversal {
31+
publicList<List<Integer>>zigzagLevelOrder(TreeNoderoot) {
32+
Queue<TreeNode>q =newLinkedList();
33+
List<List<Integer>>levels =newArrayList();
34+
if(root ==null)returnlevels;
35+
q.offer(root);
36+
booleanforward =true;
37+
while(!q.isEmpty()){
38+
intsize =q.size();
39+
List<Integer>level =newArrayList();
40+
for(inti =0;i <size;i++){
41+
TreeNodecurr =q.poll();
42+
level.add(curr.val);
43+
if(curr.left !=null)q.offer(curr.left);
44+
if(curr.right !=null)q.offer(curr.right);
45+
}
46+
if(forward){
47+
forward =false;
48+
levels.add(level);
49+
}else {
50+
Collections.reverse(level);
51+
levels.add(level);
52+
forward =true;
53+
}
54+
}
55+
returnlevels;
56+
}
57+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp