Skip to content

Commit 0e88e6b

Browse files
牛客平台Scanner测试
1 parent 6998f52 commit 0e88e6b

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

src/main/java/com/base/Test.java

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
package com.base;
2+
3+
import java.util.ArrayDeque;
4+
import java.util.ArrayList;
5+
import java.util.List;
6+
import java.util.Queue;
7+
8+
/**
9+
* 右视图遍历二叉树
10+
* 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值
11+
* 输入: [1,2,3,null,5,null,4]
12+
* 输出: [1, 3, 4]
13+
* 解释:
14+
*
15+
* 1 <---
16+
* / \
17+
* 2 3 <---
18+
* \ \
19+
* 5 4 <---
20+
*
21+
*
22+
*/
23+
public class Test {
24+
25+
26+
public List<Integer> getList(ListNode node) {
27+
if (node==null) {
28+
return null;
29+
}
30+
List<Integer> list = new ArrayList<>();
31+
Queue<ListNode> queue = new ArrayDeque<>();
32+
while (queue.size()!=0) {
33+
queue.add(node);
34+
int size = queue.size();
35+
for (;size>0;size--) {
36+
ListNode listNode = queue.poll();
37+
if (size==1 && listNode!=null && listNode.right!=null) {
38+
list.add(listNode.val);
39+
queue.add(listNode.right);
40+
} else if (size==1 && listNode!=null) {
41+
list.add(listNode.val);
42+
queue.add(listNode.left);
43+
}
44+
}
45+
46+
}
47+
return list;
48+
49+
50+
}
51+
52+
53+
class ListNode {
54+
private ListNode left;
55+
56+
private ListNode right;
57+
58+
private Integer val;
59+
60+
}
61+
62+
}

0 commit comments

Comments
 (0)