在一个牧场中,有很多牛。为了方便管理,牧场主将牛的编号排列成一棵二叉树。现在牧场主想知道每层牛的编号。请按照从上到下,从左到右的顺序,返回每层牛的编号,但是要求每一层的遍历顺序为Z字形(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。

区块链毕设网qklbishe.com为您提供问题的解答

在一个牧场中,有很多牛。为了方便管理,牧场主将牛的编号排列成一棵二叉树。现在牧场主想知道每层牛的编号。请按照从上到下,从左到右的顺序,返回每层牛的编号,但是要求每一层的遍历顺序为Z字形(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。

非递归+队列
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[][] ZLevelOrder (TreeNode root) {         // write code here         if(root==null){             return new int[0][0];         }         ArrayList<ArrayList<Integer>> listAll=new ArrayList<>();         Queue<TreeNode> queue=new LinkedList<>();         queue.add(root);         int flag=1;         while(!queue.isEmpty()){             int size=queue.size();             ArrayList<Integer> list=new ArrayList<>();             for(int i=0;i<size;i++){                 TreeNode node=queue.poll();                 list.add(node.val);                 if(node.left!=null){                     queue.add(node.left);                 }                 if(node.right!=null){                     queue.add(node.right);                 }             }             if(flag%2==0){                 Collections.reverse(list);             }             listAll.add(list);             flag++;         }         int arr[][]=new int[listAll.size()][];         for(int i=0;i<arr.length;i++){             arr[i]=new int[listAll.get(i).size()];             for(int j=0;j<arr[i].length;j++){                 arr[i][j]=listAll.get(i).get(j);             }         }         return arr;     } }

59:41

以上就是关于问题在一个牧场中,有很多牛。为了方便管理,牧场主将牛的编号排列成一棵二叉树。现在牧场主想知道每层牛的编号。请按照从上到下,从左到右的顺序,返回每层牛的编号,但是要求每一层的遍历顺序为Z字形(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 在一个牧场中,有很多牛。为了方便管理,牧场主将牛的编号排列成一棵二叉树。现在牧场主想知道每层牛的编号。请按照从上到下,从左到右的顺序,返回每层牛的编号,但是要求每一层的遍历顺序为Z字形(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。