欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

访谈算法 - 61 - 二叉树的右视图

最编程 2024-03-20 14:53:31
...
class Solution { public List<Integer> rightSideView(TreeNode root) { return bfs(root); } public List<Integer> bfs(TreeNode root) { List<Integer> res = new ArrayList<>(); if (root == null) { return res; } LinkedList<TreeNode> queue1 = new LinkedList<>(); LinkedList<TreeNode> queue2 = new LinkedList<>(); queue1.offer(root); while (!queue1.isEmpty()) { TreeNode poll = queue1.poll(); if (poll.left != null) { queue2.add(poll.left); } if (poll.right != null) { queue2.add(poll.right); } if (queue1.isEmpty()) { res.add(poll.val); queue1 = queue2; queue2 = new LinkedList<>(); } } return res; } }