GitHub Viewer
package com.leetcode;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
public class BinaryTreeRightSideView {
//https://leetcode.com/problems/binary-tree-right-side-view/
class Solution {
public List rightSideView(TreeNode root) {
List result = new ArrayList();
if(root == null){
return result;
}
Queue queue = new LinkedList();
queue.offer(root);
while(queue.size() > 0){
int size = queue.size();
while(size > 0){
TreeNode node = queue.poll();
size--;
if(size == 0)
result.add(node.val);
if(node.left != null) queue.offer(node.left);
if(node.right != null) queue.offer(node.right);
}
}
return result;
}
}
//Definition for a binary tree node.
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode() {}
TreeNode(int val) { this.val = val; }
TreeNode(int val, TreeNode left, TreeNode right) {
this.val = val;
this.left = left;
this.right = right;
}
}
}