📌  相关文章
📜  单链接列表的所有偶数和节点的和与乘积(1)

📅  最后修改于: 2023-12-03 15:07:21.180000             🧑  作者: Mango

单链接列表的所有偶数和节点的和与乘积

在单链接列表中,要求编写一个程序,计算出所有偶数节点的和,并计算出所有节点值的乘积。以下是对这个问题的解释以及样例。

示例

首先,假设该列表为以下单链接列表:

1 -> 2 -> 3 -> 4 -> 5 -> 6

根据题目要求,我们需要计算所有偶数节点的和以及所有节点值的乘积。

因此,我们需要先遍历整个链表,找到所有偶数节点并计算它们的和。 在上述例子中,我们可以计算出 2 + 4 + 6 = 12。

接着,我们需要计算所有节点值的乘积。这也很容易,我们只需要遍历整个链表,让每个节点值相乘即可。在上述例子中,我们可以计算出 1 x 2 x 3 x 4 x 5 x 6 = 720。

代码实现

以下是一个实现以上示例代码的Python代码示例:

class ListNode:
    def __init__(self, val=None):
        self.val = val
        self.next = None


def even_sum_and_product(head: ListNode) -> [int, int]:
    # 初始化求和值和乘积值
    even_sum, product = 0, 1

    while head:
        # 如果该节点值为偶数,则将其加入偶数和中
        if head.val % 2 == 0:
            even_sum += head.val

        # 将该节点值乘到总乘积中
        product *= head.val

        # 移动到下一个节点
        head = head.next

    return [even_sum, product]
Markdown代码片段

以下是对以上内容的Markdown代码片段:

# 单链接列表的所有偶数和节点的和与乘积

在单链接列表中,要求编写一个程序,计算出所有偶数节点的和,并计算出所有节点值的乘积。以下是对这个问题的解释以及样例。


## 示例

首先,假设该列表为以下单链接列表:

1 -> 2 -> 3 -> 4 -> 5 -> 6


根据题目要求,我们需要计算所有偶数节点的和以及所有节点值的乘积。

因此,我们需要先遍历整个链表,找到所有偶数节点并计算它们的和。 在上述例子中,我们可以计算出 2 + 4 + 6 = 12。

接着,我们需要计算所有节点值的乘积。这也很容易,我们只需要遍历整个链表,让每个节点值相乘即可。在上述例子中,我们可以计算出 1 x 2 x 3 x 4 x 5 x 6 = 720。


## 代码实现

以下是一个实现以上示例代码的Python代码示例:

```python
class ListNode:
    def __init__(self, val=None):
        self.val = val
        self.next = None


def even_sum_and_product(head: ListNode) -> [int, int]:
    # 初始化求和值和乘积值
    even_sum, product = 0, 1

    while head:
        # 如果该节点值为偶数,则将其加入偶数和中
        if head.val % 2 == 0:
            even_sum += head.val

        # 将该节点值乘到总乘积中
        product *= head.val

        # 移动到下一个节点
        head = head.next

    return [even_sum, product]