여덟째 비법 두 갈래 나무 생성기

7463 단어 leetcode
Leet Code 두 갈래 나무 제목은 스스로 측정할 수 없으니 여덟 가지 비법으로...
작은 도구를 썼습니다. 두 갈래 트리를 세어 봅시다.
package Tree;

import java.util.LinkedList;
import java.util.Queue;

public class TreeUtils {
    /**
     *  
     * @param nums  
     * @return  
     */
    public static TreeNode toTree(Integer[] nums){
        if(nums.length==0) return null;
        TreeNode head = new TreeNode(nums[0]);
        Queue<TreeNode> queue = new LinkedList<>();
        queue.offer(head);
        int index = 1;  // 
        while(index<nums.length){
            TreeNode cur = queue.poll();
            if(nums[index]!=null) { // null 
                TreeNode temp = new TreeNode(nums[index]);
                cur.left = temp;
                queue.offer(temp);
            }
            if(index++>=nums.length) break;
            if(index < nums.length && nums[index]!=null) { 
                TreeNode temp = new TreeNode(nums[index]);
                cur.right = temp;
                queue.offer(temp);
            }
            index++;
        }
        return head;
    }
}

동시에 TreeNode 클래스가 필요합니다.
package Tree;

public class TreeNode {
    public int val;
    public TreeNode left;
    public TreeNode right;

    public TreeNode(int x) {
        val = x;
    }
}

좋은 웹페이지 즐겨찾기