chirag272003
BAN USER- 0of 2 votes
AnswersReverse last 5 nodes of linkedlist. Please let me know if there is any better way.
E.g.
Input: 1,2,3,4,5,6,7
Output: 1,2,7,6,5,4,3
- chirag272003 in United Statespackage com.acct; public class SinglyLinkedListReverseLast5 { public static void main(String[] args) { Node n7 = new Node(7, null); Node n6 = new Node(6, n7); Node n5 = new Node(5, n6); Node n4 = new Node(4, n5); Node n3 = new Node(3, n4); Node n2 = new Node(2, n3); Node n1 = new Node(1, n2); int numberOfNodestoReverse = 5; System.out.println(n1.toString()); reverse(getNthElement(n1, numberOfNodestoReverse+1)); System.out.println(n1.toString()); } public static Node getNthElement(Node head, int n) { Node f_ptr = head; Node s_ptr = head; for (; n > 0; n--) { f_ptr = f_ptr.next; } while (f_ptr != null) { f_ptr = f_ptr.next; s_ptr = s_ptr.next; } System.out.println(s_ptr.toString()); return s_ptr; } public static void reverse(Node head) { Node current = null; Node next; Node first = head; head = head.next; while (head != null) { next = head.next; head.next = current; current = head; head = next; } first.next = current; } } class Node { int value; Node next; Node(int value, Node next) { this.value = value; this.next = next; } public String toString() { String result = value + " "; if (next != null) { result += next.toString(); } return result; } }
| Report Duplicate | Flag | PURGE
Software Engineer / Developer Linked Lists
- chirag272003 January 31, 2015