LeetCode-Algorithms-[Mid][树的层次遍历]面试题32 - I. 从上到下打印二叉树

面试题32 - I. 从上到下打印二叉树

	public int[] levelOrder(TreeNode root) {
		if (root == null) {
			return new int[0];
		}
		Queue<TreeNode> q = new LinkedList<TreeNode>();
		Queue<Integer> intQ = new LinkedList<Integer>();
		q.add(root);
		while (!q.isEmpty()) {
			TreeNode tempNode = q.poll();
			intQ.add(tempNode.val);
			if (tempNode.left != null) {
				q.add(tempNode.left);
			}
			if (tempNode.right != null) {
				q.add(tempNode.right);
			}
		}
		int[] res = getIntArr(intQ);
		return res;
	}

	private int[] getIntArr(Queue<Integer> intQ) {
		int n = intQ.size();
		int[] res = new int[n];
		for (int i = 0; i < n; ++i) {
			res[i] = intQ.poll();
		}
		return res;
	}
发布了272 篇原创文章 · 获赞 7 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/m0_37302219/article/details/105592894