1 public class Solution { 2 public ArrayList<ArrayList<Integer>> levelOrderBottom(TreeNode root) { 3 // IMPORTANT: Please reset any member data you declared, as 4 // the same Solution instance will be reused for each test case. 5 ArrayList<ArrayList<Integer>> result = new ArrayList<ArrayList<Integer>>(); 6 if(root == null) 7 return result; 8 Stack<ArrayList<Integer>> stack = new Stack<ArrayList<Integer>>(); 9 stack = traversal(root); 10 while(!stack.isEmpty()) 11 result.add(stack.pop()); 12 return result; 13 } 14 private Stack<ArrayList<Integer>> traversal(TreeNode root) 15 { 16 LinkedList<TreeNode> queue = new LinkedList<TreeNode>(); 17 Stack<ArrayList<Integer>> result = new Stack<ArrayList<Integer>>(); 18 queue.add(root); 19 while(!queue.isEmpty()) 20 { 21 ArrayList<Integer> tmp = new ArrayList<Integer>(); 22 LinkedList<TreeNode> tmpqueue = new LinkedList<TreeNode>(); 23 while(!queue.isEmpty()) 24 { 25 TreeNode node = queue.poll(); 26 tmp.add(node.val); 27 if(node.left != null) 28 tmpqueue.add(node.left); 29 if(node.right != null) 30 tmpqueue.add(node.right); 31 } 32 result.add(tmp); 33 queue = tmpqueue; 34 } 35 return result; 36 } 37 }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步