力扣二叉树,根据leetcode的控制台输入快速在本地建树

2023-11-13

使用说明

目的:为了刷二叉树题目时根据leetcode的控制台输入快速在本地建树
例子:leetocde

控制台输入: [3,9,20,null,null,15,7]
ide中java代码: 将数值复制到数组中,并将null用 Integer.MIN_VALUE代替

int[] nums = {3,9,20,Integer.MIN_VALUE,Integer.MIN_VALUE,15,7};
TreeNode root = builtTree(nums);

就可以直接返回二叉树根节点 root。

 public TreeNode builtTree(int[] nums) {
        TreeNode root = new TreeNode(nums[0]);

        LinkedList<TreeNode> list = new LinkedList<>();
        list.add(root);

        int index = 1;
        TreeNode node = root;

        while (index < nums.length) {
            node = list.pop();
            while (node == null) {
                node = list.pop();
            }

            if (nums[index] == Integer.MIN_VALUE) {
                node.left = null;
            } else {
                node.left = new TreeNode(nums[index]);
            }

            if (nums[index + 1] == Integer.MIN_VALUE) {
                node.right = null;
            } else {
                node.right = new TreeNode(nums[index + 1]);
            }
            list.add(node.left);
            list.add(node.right);
            index += 2;
        }

        return root;
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

力扣二叉树,根据leetcode的控制台输入快速在本地建树 的相关文章

随机推荐