基本思路难点在于不同层怎么按不同顺序打印节点值,不同层可以通过记录层数值判断是奇数层还是偶数层,打印节点值首先想的是如果偶数层就将队列中的下一层节点顺序反序,但是在for循环中加入下一层的节点一直是按左子树到右子树的顺序进行的,如果下一层节点的正确顺序为[5,7,9,11],反转前队列中节点为[9,11,5,7],反转后[7,5,11,9],还是不对。正确做法是判断不同层后,将当前层数组保存的节点值反序就行了,因为数组中是从左到右的顺序存储节点,反转后是从右到左存储节点。 import java.util.*; /* * public class TreeNode { * int val = ...