Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Golang program to insert a new node after the Kth node (K is not in the linked list)
Example

Add node 15 after 50((K is not in the linked list)) 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 node value 50 is not found, return the head without adding any node.
Example
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 AddAfterKthNode(head *Node, k , data int) *Node{
// Insert after Kth node(K is not in the linked list).
if head == nil{
return head
}
temp := head
for temp != nil{
if temp.value == k{
newNode := NewNode(data, nil)
newNode.next = temp.next
temp.next = newNode
break
}
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 = AddAfterKthNode(head, 50, 15)
fmt.Printf("Adding node after %dth value node, Linked List is: ", 50)
TraverseLinkedList(head)
}
Output
Input Linked list is: 30 10 40 40 Adding node after 50th value node, Linked List is: 30 10 40 40
Advertisements