Skip to content

Commit c408248

Browse files
committed
124.二叉树中的最大路径和
1 parent 06bb337 commit c408248

File tree

2 files changed

+51
-0
lines changed

2 files changed

+51
-0
lines changed

leetcode_Java/DoneTitle.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
160. 相交链表
6363
169. 多数元素
6464
188. 买卖股票的最佳时机 IV
65+
199. 二叉树的右视图
6566
200. 岛屿数量
6667
203. 移除链表元素
6768
206. 反转链表

leetcode_Java/Solution0199.java

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
// 199. 二叉树的右视图
2+
3+
4+
/**
5+
* Definition for a binary tree node.
6+
* public class TreeNode {
7+
* int val;
8+
* TreeNode left;
9+
* TreeNode right;
10+
* TreeNode() {}
11+
* TreeNode(int val) { this.val = val; }
12+
* TreeNode(int val, TreeNode left, TreeNode right) {
13+
* this.val = val;
14+
* this.left = left;
15+
* this.right = right;
16+
* }
17+
* }
18+
*/
19+
20+
21+
/*
22+
102.二叉树的层序遍历,取每层最后一个节点值
23+
*/
24+
class Solution {
25+
public List<Integer> rightSideView(TreeNode root) {
26+
List<Integer> list = new ArrayList<>();
27+
if (root == null) {
28+
return list;
29+
}
30+
Deque<TreeNode> queue = new ArrayDeque<>();
31+
queue.add(root);
32+
while (!queue.isEmpty()) {
33+
int count = queue.size();
34+
List<Integer> sonList = new ArrayList<>();
35+
while (count > 0) {
36+
TreeNode node = queue.remove();
37+
sonList.add(node.val);
38+
if (node.left != null) {
39+
queue.add(node.left);
40+
}
41+
if (node.right != null) {
42+
queue.add(node.right);
43+
}
44+
count--;
45+
}
46+
list.add(sonList.get(sonList.size() - 1));
47+
}
48+
return list;
49+
}
50+
}

0 commit comments

Comments
 (0)