力扣 515题 在每个树行中找最大值
Question 515-find largest value in each tree row
解题思路
普通的广度优先搜索
代码
class Solution {
public List<Integer> largestValues(TreeNode root) {
List<Integer> result = new ArrayList<>();
Queue<TreeNode> curLine = new LinkedList<>();
if (null != root) curLine.add(root);
while (null != curLine.peek()) {
int maxVal = curLine.peek().val;
int size = curLine.size();
for (int i = 0; i < size; i ++) {
TreeNode curNode = curLine.poll();
int val = curNode.val;
maxVal = maxVal > val ? maxVal : val;
if (null != curNode.left) curLine.add(curNode.left);
if (null != curNode.right) curLine.add(curNode.right);
}
result.add(maxVal);
}
return result;
}
}
浙公网安备 33010602011771号