Java兑现二叉树的层次遍历

Java实现二叉树的层次遍历
节点类,包括名称与子节点。
class TestNode {
String name = null;
List<TestNode> children = new ArrayList<TestNode>();
        //setter、getter
}

遍历函数:
public void levelOrder(TestNode root) {
    Queue<TestNode> nodes = new LinkedList<TestNode>();
    TestNode currNode = null;
    List<TestNode> children = null;
    assert(root != null);
    nodes.add(root);
   
    while (!nodes.isEmpty()) {
currNode = nodes.poll();//出队列
System.out.print(currNode.getName());
children = currNode.getChildren();

        //子节点入队列
if (children != null && !children.isEmpty()) {
    for (int i = 0; i < children.size(); i++) {
nodes.add(children.get(i));
    }
}
     }
}