"手册"中的元素总和链表java

时间:2017-12-02 15:12:55

标签: java

我有一个关于如何编写一个函数的问题,它将为我提供手动链表中元素的总和。我试过这样但它不起作用: function insert()在列表中插入元素。

public class list {
            int head;
            List tail;
            int sum=0;
            int value;
    public void insert(int elt){
        if(tail == null){

            tail = new list();
            tail.head = elt;

        }
        else{
        tail.insert(elt);
        }
    }
    public int sum(list head){
            if(head!=null){
                sum += head;
                return tail.sum(head);
            }
            return sum;
        }
}

2 个答案:

答案 0 :(得分:3)

这类事物的代码(即“手动”链表迭代)是这样的:

def permuteHelper(self, nums, index, path, res):
    if len(nums) == 0:
        res.append(path)

    for i in range(len(nums)):
        copy = list(nums)
        val = copy.pop(i)
        self.permuteHelper(copy, i, [val] + path, res)

def permute(self, nums):
    res = []
    self.permuteHelper(nums, 0,[], res)
    return res

使用

public int calculateSum(MyList list) {
    Node node = list.head();
    int sum = 0;
    while (node != null) {
        sum += node.value();
        node = node.next();
    }
    return sum;
}

答案 1 :(得分:1)

为什么不使用java中的List Object? 您可以将此函数用于列表中元素的总和:

public static int sum (List<Integer> list) {
    int sum = 0;
    for (int i: list) {
        sum += i;
    }
    return sum;
}