Golang program to delete the ith index node, when index is the out of range in the linked list.
Example

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 − When index == 0, then return head.next
Step 4 − Else, iterate the given linked list from its head.
Step 5 − If index i matches with the given index (to be deleted), then delete that node.next, break the loop.
Step 6 − Return, at the end of the loop.
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 DeleteKthIndexNode(head *Node, index int) *Node{
if head == nil{
return head
}
if index == 0{
head = head.next
return head
}
i := 1
temp := head
for temp != nil{
if i == index{
temp.next = temp.next.next
}
i++
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)
index := 5
head = DeleteKthIndexNode(head, index)
fmt.Printf("After Deletion of %dth index node, Linked List is: ", index)
TraverseLinkedList(head)
}
Output
Input Linked list is: 30 10 40 40
After Deletion of 5th index node, Linked List is: 30 10 40 40
Published on 18-Mar-2021 11:56:52
- Related Questions & Answers
- Golang program to delete the ith index node, when the index is the last index in the linked list.
- Golang program to delete the ith index node, when the index is at the mid-index level in the linked list.
- Golang Program to delete the ith index node, when the index is at 0th position in the linked list.
- Golang program to insert a node at the ith index node, when the index is at the nth index, i.e., out of bound in the linked list.
- Golang program to insert a node at the ith index node, when the index is at the mid-index position in the linked list.
- Golang Program to insert a node at the ith index node, when the index is at the 0th position in the linked list.
- Golang program to insert a node at the ith index node, when the index is at the last position in the linked list.
- Golang Program to update the ith index node value, when index is at the last index.
- Golang Program to update the ith index node value, when index is at 0 index.
- Golang program to update the ith index node value, when index is at the nth position, i.e., out of index bound.
- Golang program to update the ith index node value, when the index is at 2, i.e., mid index.
- Golang Program to delete the node after the Kth node (K is not in the linked list).
- Golang Program to delete the first node from a linked list.
- Golang Program to delete the last node from a linked list.
- Golang Program to update the node value after the Kth node (When K is not in the linked list).