zoukankan      html  css  js  c++  java
  • leetcode二叉树测试案例生成工具

    从别人那粘贴的,忘记源地址了

    package binarytree;
    
    import java.util.Deque;
    import java.util.LinkedList;
    
    /**
     * 构建二叉树
     * <p>
     * For example:
     * Given BST [1,null,2,2],
     * <p>
     * 1
     * \
     * 2
     * /
     * 2
     */
    public class GenerateTreeNode {
        public static TreeNode generateTreeNode(Integer[] nums) {
            if (nums == null || nums.length == 0)
                return null;
            int len = nums.length;
            int index = 0;
            TreeNode head = new TreeNode(nums[index]);
            Deque<TreeNode> nodeQueue = new LinkedList<>();
            nodeQueue.offer(head);
            TreeNode cur;
            while (index < len) {
                index++;
                if (index >= len) return head;
                cur = nodeQueue.poll();
                Integer left = nums[index];
                if (left != null) {
                    cur.left = new TreeNode(left);
                    nodeQueue.offer(cur.left);
                }
    
                index++;
                if (index >= len) return head;
                Integer right = nums[index];
                if (right != null) {
                    cur.right = new TreeNode(right);
                    nodeQueue.offer(cur.right);
                }
            }
            return head;
        }
    
        public static void main(String[] args) {
            Integer[] data = {1, null, 2, 2, 32, 31, 3, 23, 1, 23, 123, 12, 3, 12, 31, 23, 2};
            TreeNode node = GenerateTreeNode.generateTreeNode(data);
            System.out.println();
        }
    }
    
    
  • 相关阅读:
    蓝屏的钙,好喝的钙
    正则
    JavaScript 获取当前时间戳 (3种方式)
    react-native upoad imagepicker
    xmlhttprequest请求
    修改配置使fiddler可以查看https请求
    安装composer
    判定 android IOS
    看端口任务
    squid 缓存Internet 软件
  • 原文地址:https://www.cnblogs.com/xiaoshahai/p/15682274.html
Copyright © 2011-2022 走看看