Golang program to insert a node at the ith index node, when the index is at the last position in the linked list.



Examples

Example

Approach to solve this problem

 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 InsertNodeAtIthIndex(head *Node, index, data int) *Node{    if head == nil{       head = NewNode(data, nil)       return head    }    if index == 0{       newNode := NewNode(data, nil)       newNode.next = head       head = newNode       return head    }    i := 0    temp := head    preNode := temp    for temp != nil {       if i == index{          newNode := NewNode(data, nil)          preNode.next = newNode          newNode.next = temp          break       }       i++       preNode = temp       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 := 3    head = InsertNodeAtIthIndex(head, index, 35)    fmt.Printf("Inserting new node at %dth index, Linked List is: ", index)    TraverseLinkedList(head) }

Output

Input Linked list is: 30 10 40 40 Inserting new node at 3th index, Linked List is: 30 10 40 35 40
Updated on: 2021-03-18T12:16:15+05:30

173 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements