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

链表内指定区间反转

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

class Solution {
public:
	/**
	 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
	 *
	 * 
	 * @param head ListNode类 
	 * @param m int整型 
	 * @param n int整型 
	 * @return ListNode类
	 */
	ListNode* reverseBetween(ListNode* head, int m, int n) {
		// write code here
        if(head->next==nullptr)
            return head;
		auto pHead=new ListNode(0);
		pHead->next=head;
		ListNode* now=pHead;
		for(int i=1;i<=m-1;++i)
			now=now->next;
		auto node1=now;
		auto node2=now->next;
		auto pre=now->next;
		now=pre->next;
		for(int i=m;i<n;++i){
			auto temp=now->next;
			now->next=pre;
			pre=now;
			now=temp;
		}
        node1->next=pre;
        node2->next=now;
		return pHead->next;
	}
};

全部评论

相关推荐

比亚迪汽车新技术研究院 硬件工程师 总包21左右 硕士
点赞 评论 收藏
分享
无情咸鱼王的秋招日记之薛定谔的Offer:好拒信,偷了,希望有机会用到
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务