Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- 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;
- }
- }
- public List<Integer> rightSideView(TreeNode root) {
- if (root == null) {
- return new ArrayList<Integer>();
- }
- ArrayList<TreeNode> parents = new ArrayList();
- parents.add(root);
- ArrayList<Integer> rightside = new ArrayList();
- while (!parents.isEmpty()) {
- rightside.add(parents.get(parents.size() - 1).val);
- ArrayList<TreeNode> children = new ArrayList();
- for (TreeNode parent : parents) {
- if (parent.left != null) children.add(parent.left);
- if (parent.right != null) children.add(parent.right);
- }
- // prepare for next level
- parents = children;
- }
- return rightside;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement