Kth Node From Middle
Modified codeunknown
plain_text
a year ago
1.9 kB
3
Indexable
/** * Definition for singly-linked list. * class ListNode { * public int val; * public ListNode next; * ListNode(int x) { val = x; next = null; } * } */ public class Solution { public static ListNode insertBegin(ListNode head2,int x){ ListNode temp = new ListNode(x); temp.next = head2; return temp; } public static int lenLL(ListNode A){ ListNode curr = A; int length = 0; while(curr != null){ length++; curr = curr.next; } return length; } public static int solve(ListNode A, int B) { ListNode curr = A; int lenOfLL = lenLL(A); int midPos = (lenOfLL / 2) + 1; int pos = 1; while(curr != null){ if(pos == midPos){ curr.next = null; break; } else{ curr = curr.next; pos++; continue; } } ListNode head2 = null; ListNode curr2 = A; while(curr2 != null){ head2 = insertBegin(head2,curr2.val); curr2 = curr2.next; } int finalVal = 0; if(B < pos){ ListNode curr3 = head2; int newPos = 1; while(curr3 != null){ if(newPos == (B + 1)){ finalVal = curr3.val; break; //return curr3.val; } else{ curr3 = curr3.next; newPos++; continue; } } } else if(B >= pos){ finalVal = -1; //return - 1; } return finalVal; } }
Editor is loading...