复制java中的链接列表

时间:2015-12-16 20:39:00

标签: java data-structures

public Linearlist mul(Linearlist l1, Linearlist l2) {
    Linearlist sum = new Linearlist();
    int carry = 0;
    long pow = 0;
    while (l2.size > 0) {
        Linearlist row = new Linearlist();
        Linearlist temp1 = l1;
        int operand = l2.Delfirst();

        for (int i = 0; i < pow; i++) {
            row.InsertFirst(0);
        }

        pow++;
        while (temp1.size > 0) {
            int result;
            result = temp1.Delfirst() * operand + carry;
            if (result > 9) {
                carry = result / 10;
                result = result % 10;
            }
            row.InsertFirst(result);
        }
        if (carry > 0) {
            row.InsertFirst(carry);
        }

        sum = sumList(row, sum);
    }
    return sum;
}

这是我的代码,我希望将两个列表的数字相乘 所以写这个代码,它适用于我的第二个列表上的第一次删除。 当我在工作时第一次调试此代码时 而下一次它没有进入第二次 问题在哪里temp1.size不大于0 ???

1 个答案:

答案 0 :(得分:0)

因为当您将两个链接列表分配在一起时,它们会获得相同的地址 所以分配的链接列表实际上是第一个链接列表。 要分配链接列表,您必须将第一个链接列表的副本复制到第二个