绿色简单网站,外贸人常用的app,wordpress轮播图特效,长沙装修公司排行榜力扣#xff08;LeetCode#xff09;官网 - 全球极客挚爱的技术成长平台 给你二叉树的根节点 root #xff0c;返回其节点值 自底向上的层序遍历 。 #xff08;即按从叶子节点所在层到根节点所在的层#xff0c;逐层从左向右遍历#xff09; 输入#xff1a;root [3,9… 力扣LeetCode官网 - 全球极客挚爱的技术成长平台 给你二叉树的根节点 root 返回其节点值 自底向上的层序遍历 。 即按从叶子节点所在层到根节点所在的层逐层从左向右遍历 输入root [3,9,20,null,null,15,7]
输出[[15,7],[9,20],[3]] 这道题和Leetcode102的基础层序遍历唯一的不同点是每次for循环结束后加入列表的结果需要到最前面res.add(0,list);和锯齿形层序遍历方法一样
/*** 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 ListListInteger levelOrderBottom(TreeNode root) {ListListInteger res new ArrayList();if(root null){return res;}QueueTreeNode q new LinkedList();q.offer(root);while(!q.isEmpty()) {int size q.size();ListInteger list new ArrayList();for(int i 0; i size; i) {TreeNode node q.poll();list.add(node.val);if(node.left ! null){q.offer(node.left);}if(node.right ! null){q.offer(node.right);}}//每次插入到最前面倒序的层序遍历就会实现res.add(0,list);}return res;}
}