题解 | #链表内指定区间反转# 先创建头结点,然后保存前节点、当前节点以及下一节点进行反转

链表内指定区间反转

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

import java.util.*;

/*
 * public class ListNode {
 *   int val;
 *   ListNode next = null;
 * }
 */

public class Solution {
    /**
     * 
     * @param head ListNode类 
     * @param m int整型 
     * @param n int整型 
     * @return ListNode类
     */
    public ListNode reverseBetween (ListNode head, int m, int n) {
        int count = m;
        ListNode tmp = head;
        
        ListNode preNode = new ListNode(-1);
        preNode.next = tmp;
        ListNode retHeadNode = preNode;
        
        ListNode nextNode;
        ListNode next2Node;
        while(m != 1){
            preNode = tmp;
            tmp = tmp.next;
            m--;
        }
        while(tmp != null && count < n){
            nextNode = tmp.next;
            next2Node = tmp.next.next;
            ListNode nextTmpNode = preNode.next;
            preNode.next = nextNode;
            nextNode.next = nextTmpNode;
            tmp.next = next2Node;
            count++;
        }
        return retHeadNode.next;
    }
}
全部评论

相关推荐

07-09 15:14
南京大学 C++
点赞 评论 收藏
分享
嵐jlu:我是山川🐔里🐔🧱的,阿里系简历全过; 你这简历一看就还是半成品啊,没有荣誉经历奖项什么的吗?
投递阿里巴巴集团等公司10个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 11:24
大家还是用ai改吧,我心疼得要死,就当花钱买教训吧,人家直接拿完钱就跑路了
程序员小白条:简历修改700....神奇,又不是帮你面试,咋的,简历修改从双非变92了还是没实习变成有大厂实习了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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