Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Definition for ListNode
- * public class ListNode {
- * int val;
- * ListNode next;
- * }
- */
- public class Solution {
- public ListNode reverseBetween(ListNode head, int m, int n) {
- if (m >= n || head == null) {
- return head;
- }
- ListNode dummy = new ListNode(0);
- dummy.next = head;
- head = dummy;
- for (int i = 1; i < m; i++) {
- if (head == null) {
- return null;
- }
- head = head.next;
- }
- ListNode premNode = head;
- ListNode mNode = head.next;
- ListNode nNode = mNode, postnNode = mNode.next;
- for (int i = m; i < n; i++) {
- if (postnNode == null) {
- return null;
- }
- ListNode temp = postnNode.next;
- postnNode.next = nNode;
- nNode = postnNode;
- postnNode = temp;
- }
- mNode.next = postnNode;
- premNode.next = nNode;
- return dummy.next;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement