在一个牧场中,有很多牛。为了方便管理,牧场主将牛的编号排列成一棵二叉树。现在牧场主站在牛群的左侧,想知道从左侧能看到哪些牛的编号。请按照从顶部到底部的顺序,以数组的形式返回从左侧所能看到的牛的编号。
区块链毕设网qklbishe.com为您提供问题的解答
在一个牧场中,有很多牛。为了方便管理,牧场主将牛的编号排列成一棵二叉树。现在牧场主站在牛群的左侧,想知道从左侧能看到哪些牛的编号。请按照从顶部到底部的顺序,以数组的形式返回从左侧所能看到的牛的编号。
import java.util.*; /* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * public TreeNode(int val) { * this.val = val; * } * } */ public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return int整型一维数组 */ public int[] leftSideView (TreeNode root) { if(root==null) return new int[0]; LinkedList<TreeNode> list=new LinkedList<>(); list.offer(root); ArrayList<Integer> ans=new ArrayList<>(); ans.add(root.val); while(!list.isEmpty()){ int n=list.size(); for(int i=0;i<n;i++){ TreeNode head=list.poll(); if(head.left!=null) list.offer(head.left); if(head.right!=null) list.offer(head.right); } if(!list.isEmpty()) ans.add(list.get(0).val); } int[] res=new int[ans.size()]; for(int i=0;i<ans.size();i++) res[i]=ans.get(i); return res; } }
08:49
以上就是关于问题在一个牧场中,有很多牛。为了方便管理,牧场主将牛的编号排列成一棵二叉树。现在牧场主站在牛群的左侧,想知道从左侧能看到哪些牛的编号。请按照从顶部到底部的顺序,以数组的形式返回从左侧所能看到的牛的编号。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训