Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
Golang Program to delete the ith index node, when the index is at 0th position in the linked list.
Examples

Approach to solve this problem
Step 1 − Define a method that accepts head of the linked list.
Step 2 − If head == nil, return the head.
Step 3 − When index == 0, then return head.next
Step 4 − Else, Iterate given linked list from head.
Step 5 − If index i matches with given index(to be delete) then delete that node.next, break the loop.
Step 6 − Return, at the end of loop.
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 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 := 0
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 0th index node, Linked List is: 10 40 40
Advertisements
