刷题相关问题

49 阅读1分钟

1,中间结果 list 没有保存到 res 中,是因为栈内元素不能返回?? 是的,栈内元素会变,add 到 res 中的仅仅是栈内元素数组, ArrayList add 源码仅仅是将地址存到数组内。所以这里存的是栈内地址,因此不能保存。

2,java 数组拷贝原理 在本题中是引用,拷贝的是地址。

public int[] nums;
nums = input;

声明一个 nums 数组,这个数组名仅仅对应了一个指针,而 nums = input 是将 input 数组的首地址传递给 nums

nums = input.clone() 就是深拷贝。

3,new ArrayList() 原理,设计模式。