题外话:今天笔试过程中有个步骤要创建完全二叉树,弄了半天,时间太长,在这记录下!
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
/**
* @author fangzheng
* @date 2016年9月20日 下午1:51:05
* @version 1.0
*/
public class ContructBinaryTree {
//根据根节点创建完全二叉树
public static TreeNode createTree(TreeNode root, List<Integer> list) {
LinkedList<TreeNode> queue = new LinkedList<>();
queue.add(root);
int count = 0;
while (!queue.isEmpty() && count < list.size()) {
TreeNode lastNode = queue.poll();
if (count < list.size()) {
TreeNode left = new TreeNode(list.get(count++));
lastNode.leftNode = left;
queue.add(left);
}
if (count < list.size()) {
TreeNode right = new TreeNode(list.get(count++));
lastNode.rightNode = right;
queue.add(