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

链表内指定区间反转

http://www.nowcoder.com/practice/b58434e200a648c589ca2063f1faf58c

分两步:1是找到断链的地方(开始反转的第一个节点),2是反转链表。

public class Solution {
    public ListNode reverseBetween (ListNode head, int m, int n) {
       ListNode newh = new ListNode(0);
       newh.next = head;
       ListNode p = head;
       ListNode pre = newh;
        for(int i = 1;i<m;++i){
            pre = p;
            p = p.next;
         
        }
        ListNode q = p;
        pre.next = null;
        for(int i =m;i<n;++i){
            ListNode temp = p.next;
            p.next = temp.next;
            temp.next = q;
            q = temp;
        }
        pre.next = q;
        return newh.next;
    }
 
}
全部评论

相关推荐

09-17 17:33
门头沟学院 Java
阿里面试一直在聊天是不是就是kpi了
offer收割机jo...:应该不是KPI,因为好多人阿里简历都过不去
我的秋招日记
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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