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

链表内指定区间反转

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;
    }
 
}
全部评论

相关推荐

03-15 10:59
已编辑
美团_后端开发(实习员工)
爱写代码的菜code...:哎,自己当时拿到字节offer的时候也在感叹终于拿到了,自己当时最想去的企业就是字节,结果还是阴差阳错去了鹅厂。祝uu一切顺利!!!
点赞 评论 收藏
分享
找工作勤劳小蜜蜂:矛盾是没有实习,就是没实战经验,公司不想要,公司不要,你就没有实习,你就进入死循环,另外你的项目不是社会现在有大量岗位存在行业用的,云存储人员早就饱和。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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