小弟在做一个编程题目的时候,题目要求把listA 和listB 拼接起来,并且如果list A 不是空的话,需要将结果改变到list A。
我现在的问题时,我只是在方法内部把listA的值改了,但是实际上listA的值并没有改变。求教如何彻底的改变listA的值。
我的代码如下主要方法时 iterCatMutList:
public class MyList {
private int value;
private MyList next;
public MyList(int value, MyList next) {
this.value = value;
this.next = next;
}
public static MyList iterCatMutList(MyList listA, MyList listB) {
if(listA==null&&listB==null){
return null;
}
//TODO: fill in method
if (listA != null) {
if (listB!= null) {
MyList Result=new MyList(listA.get(listA.iterSize()-1),listB);
for (int k=listA.iterSize()-2;k>=0;k--){
Result=new MyList(listA.get(k),Result);
}
listA=Result;
return listA;
} else {
return listA;
}
}
}
public int get(int i) {
// base case
if (i == 0) {
return value;
}
// recursive step
return next.get(i - 1);
}
public int iterSize() {
MyList p = this;
int size = 0;
while (p != null) {
size += 1;
p = p.next;
}
return size;
}
可以看见在测试的时候listA的值并未改变。
求教如何解决这个问题