二叉树的深度优先和广度优先遍历

https://blog.csdn.net/XTAOTWO/article/details/83625586

广度优先遍历

public List<Integer> bfs(TreeNode root) {
		Queue<TreeNode> queue = new LinkedList<TreeNode>();
		List<Integer> list = new LinkedList<Integer>();

		if (root == null) {
			return list;
		}
		queue.add(root);
		while (!queue.isEmpty()) {
			TreeNode treeNode = queue.remove();
			if (null != treeNode.leftNode) {
				queue.add(treeNode.leftNode);
			}
			if (null != treeNode.rightNode) {
				queue.add(treeNode.rightNode);
			}
            list.add(treeNode.val);
		}
		return list;
	}

  

猜你喜欢

转载自www.cnblogs.com/Jomini/p/12032020.html