在一个牧场中,有很多牛。为了方便管理,牧场主将牛的编号排列成一棵二叉树。现在牧场主想知道每层牛的编号有哪些。请按照从上到下,从左到右的顺序,返回每层牛的编号拼接成的字符串。
区块链毕设网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 string字符串一维数组 */ public String[] levelOrder (TreeNode root) { // write code here ArrayList<String> list=new ArrayList<>(); if(root==null){ return new String[0]; } Queue<TreeNode> queue=new LinkedList<>(); queue.add(root); while(!queue.isEmpty()){ int size=queue.size(); String str=""; for(int i=0;i<size;i++){ TreeNode node=queue.poll(); str+=node.val; if(node.left!=null){ queue.add(node.left); } if(node.right!=null){ queue.add(node.right); } } list.add(str); } String strs[]=new String[list.size()]; for(int i=0;i<strs.length;i++){ strs[i]=list.get(i); } return strs; } }
51:32
以上就是关于问题在一个牧场中,有很多牛。为了方便管理,牧场主将牛的编号排列成一棵二叉树。现在牧场主想知道每层牛的编号有哪些。请按照从上到下,从左到右的顺序,返回每层牛的编号拼接成的字符串。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训