Syntax error Golang program to delete the node after the Kth node.

Golang program to delete the node after the Kth node.



Examples

Delete node after 10 value node.

Approach to solve this problem

Step 1 − Define a method that accepts the head of a linked list.

Step 2 − If head == nil, return the head.

Step 3 − Iterate the given linked list.

Step 4 − If temp.value is 10, then override that node’s next value with its next node’s next value.

Step 5 − If node value 10 is not found, return the head without deleting any node.

Example

 Live Demo

package main
import "fmt"
type Node struct {
   value int
   next *Node
}
func NewNode(value int, next *Node) *Node{
   var n Node
   n.value = value
   n.next = next
   return &n
}
func TraverseLinkedList(head *Node){
   temp := head
   for temp != nil {
      fmt.Printf("%d ", temp.value)
      temp = temp.next
   }
   fmt.Println()
}
func DeleteAfterKthNode(head *Node, k int) *Node{
   // Delete after Kth node.
   if head == nil{
      return head
   }
   temp := head
   for temp != nil{
      if temp.value == k{
         temp.next = temp.next.next
      }
      temp = temp.next
   }
   return head
}
func main(){
   head := NewNode(30, NewNode(10, NewNode(40, NewNode(40, nil))))
   fmt.Printf("Input Linked list is: ")
   TraverseLinkedList(head)
   head = DeleteAfterKthNode(head, 10)
   fmt.Printf("Delete node after %dth value node, Linked List is: ", 10)
   TraverseLinkedList(head)
}

Output

Input Linked list is: 30 10 40 40
Delete node after 10th value node, Linked List is: 30 10 40
Updated on: 2021-03-18T06:29:24+05:30

126 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements