Untitled
/** * 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; * } * } */ class Solution { public List<Integer> rightSideView(TreeNode root) { List<Integer> l = new ArrayList<>(); List<TreeNode> q2 = new ArrayList<>(); List<TreeNode> q1 = new ArrayList<>(); if(null == root) { return l; } q1.add(root); while(q1.size()>0) { TreeNode temp = null ; while(q1.size()>0) { temp = q1.remove(0); System.out.println("temp = " + temp.val); if(temp.left!= null) { q2.add(temp.left); } if(temp.right!= null) { q2.add(temp.right); } //q2.add(temp); } l.add(temp.val); q1.addAll(q2); q2.clear(); } return l; } }
Leave a Comment