java - 为什么我无法将 int 类型值添加到数组中

标签 java arrays algorithm binary-search-tree treenode

import java.util.ArrayList;
import java.util.Collection;


public class TreeNode {
     int val;
     TreeNode left;
     TreeNode right;
     TreeNode(int x){val=x;}
}

public class SortedArrayToBalancedBST {

  public TreeNode sortedArrayToBST(int[] nums) {
        if(nums.length==0) return null;
        else return sortedArrayToBST(nums, 0, nums.length-1);
    }
    public TreeNode sortedArrayToBST(int[] nums, int left, int right){
        ArrayList<TreeNode> list = New ArrayList<TreeNode>()
        TreeNode root =null;
        int mid=(right+left)/2;
        if(right>=left){
            root= new TreeNode(nums[mid]);
            root.left=sortedArrayToBST(nums, left, mid-1);
            root.right=sortedArrayToBST(nums, mid+1, right);
            list.add(root);
            //System.out.print(list);
        }
        if(left>right) return null;
        return root;

    }

    public static void main(String[] args) {
        int nums[]= {1,3,5,7,9};
        SortedArrayToBalancedBST s = new SortedArrayToBalancedBST();
        s.sortedArrayToBST(nums);
        System.out.print(s.toString())
    }

我想使用上面的代码创建一个平衡树。但是java返回一个错误告诉我:Cannot invoke add(TreeNode) on the array type int[],那么我该怎么办,为什么我不能将int类型值添加到数组中?如果我是对的,我也希望输出看起来像 [5,3,7,1,null,null,9] 。

最佳答案

数组类型没有 add(...) 方法。您必须指定要替换元素的索引(即 arr[0] = 1;)。另外,如果您的数组将包含 null 值,请考虑使用 Integer[] 类型而不是基元。

关于java - 为什么我无法将 int 类型值添加到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59297620/

相关文章:

arrays - 如何在 C 中检查整数指针数组是否为 NULL?

algorithm - Delphi 中的数学表达式解析器?

c - C/C++ 中的鲁棒人脸检测?

java - 简单的 TCP 连接程序,我在看什么,如何修复它?

java - 新的 Google Map Api for Java 应用程序,在 JPanel 中添加 map

javascript - 在一维数组中查找局部最大值

arrays - 二维数组的计数算法

java - 在 mvn 中定义 $JAVA_HOME

JAVA-如何将字符串中的字母转换为指定数字?

arrays - 数组访问总是恒定时间/O(1) 吗?