Home  >  Article  >  Backend Development  >  How to use list to implement sum operation in golang

How to use list to implement sum operation in golang

PHPz
PHPzOriginal
2023-04-06 09:11:02798browse

Golang is an efficient programming language with powerful built-in functions and data structures, one of which is list. In Golang, list is a doubly linked list, which can be used to solve many problems, such as linked list-related algorithm and data structure problems. This article will introduce how to use lists to implement sum operations.

First, you need to define a list type variable and add some nodes. Here we first create a list structure:

type ListNode struct {
  Val  int
  Next *ListNode
}

Next, we can use this structure to define a list:

//创建链表
list := ListNode{0, nil}
node1 := &ListNode{1, nil}
node2 := &ListNode{2, nil}
node3 := &ListNode{3, nil}
list.Next = node1
node1.Next = node2
node2.Next = node3

Now, we can start to implement the list sum operation. For a linked list, summing is done by adding the values ​​of all nodes. The code is as follows:

//求和
sum := 0
for p := list; p != nil; p = p.Next {
  sum += p.Val
}
fmt.Println(sum)

The meaning of this code is to start from the head node of the linked list, traverse all nodes, and accumulate the value of the node into the sum variable. Finally, the value of the output sum is the sum of the linked list.

In addition to traversing summation, we can also use recursion to implement summation operations. For a linked list, recursive summation is done by adding the value of the current node to the sum of subsequent nodes. The code is as follows:

//递归求和
func sumList(list *ListNode) int {
  if list == nil {
    return 0
  }
  return list.Val + sumList(list.Next)
}

The meaning of this code is that if the current node is empty, return 0; otherwise, add the value of the current node to the sum of the subsequent nodes and return the result.

To sum up, the list in Golang is a very useful data structure that can be used to solve many problems. In this article, we introduced how to use lists to implement summation operations, including traversal summation and recursive summation. I hope this article can help readers better understand and use lists in Golang.

The above is the detailed content of How to use list to implement sum operation in golang. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn