diff --git a/Linked_List/GetNodeValue.c b/Linked_List/GetNodeValue.c new file mode 100644 index 0000000000..b5624ea204 --- /dev/null +++ b/Linked_List/GetNodeValue.c @@ -0,0 +1,21 @@ +int getNode(SinglyLinkedListNode* head, int positionFromTail) +{ + SinglyLinkedListNode* temp=head; + int x=0; + int n=0; + int p; + while(temp->next!=NULL) + { + temp=temp->next; + n++; + } + p=n-positionFromTail; + temp=head; + while(temp->next!=NULL && x!=p) + { + temp=temp->next; + x++; + } + return temp->data; + +} diff --git a/Linked_List/ReverseALinkedList.c b/Linked_List/ReverseALinkedList.c new file mode 100644 index 0000000000..d0afd03590 --- /dev/null +++ b/Linked_List/ReverseALinkedList.c @@ -0,0 +1,14 @@ +SinglyLinkedListNode* reverse(SinglyLinkedListNode* head) +{ + SinglyLinkedListNode* curr=head; + SinglyLinkedListNode* prev=NULL; + SinglyLinkedListNode* temp=NULL; + while(curr!=NULL) + { + temp=curr->next; + curr->next=prev; + prev=curr; + curr=temp; + } +return prev; +}