题解 | #链表内指定区间反转# [P2]

反转链表

http://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca

找到第一个要反转的数之前的数 设置为pre. 然后正常反转 (n-m-1)次
https://blog.nowcoder.net/n/82d1e33b25c84859b6442702d266e817

import java.util.*;

public class Solution {

    public ListNode reverseBetween (ListNode head, int m, int n) {
      ListNode dummyNode = new ListNode(-1);
      dummyNode.next = head;
      ListNode pre = dummyNode;
      for(int i=0;i<m-1;i++){
        pre = pre.next;
      }
      
      ListNode cur = pre.next;
      for(int i=0; i<n-m; i++){
        ListNode tmp = cur.next;
        cur.next = tmp.next;
        tmp.next = pre.next;
        pre.next = tmp;
      }
      return dummyNode.next;
    }
}
全部评论

相关推荐

点赞 评论 收藏
分享
07-07 12:47
门头沟学院 Java
码农索隆:竟然还真有卡体检报告的
点赞 评论 收藏
分享
程序员小白条:太晚了,看别人找到实习了才投的话,自己本身就没啥准备,计划太晚咯,只能吞苦果子
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务