Advertisement
Guest User

Góc Lập Trình -191

a guest
Oct 3rd, 2021
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. class Solution {
  2.  
  3. public class TreeNode {
  4.  
  5. int val;
  6.  
  7. TreeNode left;
  8.  
  9. TreeNode right;
  10.  
  11. TreeNode() {}
  12.  
  13. TreeNode(int val) { this.val = val; }
  14.  
  15. TreeNode(int val, TreeNode left, TreeNode right) {
  16.  
  17. this.val = val;
  18.  
  19. this.left = left;
  20.  
  21. this.right = right;
  22.  
  23. }
  24.  
  25. }
  26.  
  27.  
  28.  
  29. public List<Integer> rightSideView(TreeNode root) {
  30.  
  31. if (root == null) {
  32.  
  33. return new ArrayList<Integer>();
  34.  
  35. }
  36.  
  37. ArrayList<TreeNode> parents = new ArrayList();
  38.  
  39. parents.add(root);
  40.  
  41.  
  42.  
  43. ArrayList<Integer> rightside = new ArrayList();
  44.  
  45.  
  46.  
  47. while (!parents.isEmpty()) {
  48.  
  49. rightside.add(parents.get(parents.size() - 1).val);
  50.  
  51. ArrayList<TreeNode> children = new ArrayList();
  52.  
  53.  
  54.  
  55. for (TreeNode parent : parents) {
  56.  
  57. if (parent.left != null) children.add(parent.left);
  58.  
  59. if (parent.right != null) children.add(parent.right);
  60.  
  61. }
  62.  
  63.  
  64.  
  65. // prepare for next level
  66.  
  67. parents = children;
  68.  
  69. }
  70.  
  71. return rightside;
  72.  
  73. }
  74.  
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement