Day10.29 Leetcode 92.反转链表
开始记录的第一天,这次是对反转链表中的典型题进行练习。因为对递归的运用还不是很熟练,所以这次的实现主要借助迭代的方法完成。
class Solution {
public ListNode reverseBetween(ListNode head, int m, int n) {
ListNode dum=head;
ListNode cur=head;
ListNode pre=null;
ListNode record2=new ListNode(-1);
for(int i=1;i<m;i++){
if(head!=null){
cur=head.next;
record2=head;
head=cur;
}else{
return dum;
}
}
ListNode record=head;
if(head.next==null)return dum;
for(int i=1;i<=n-m+1;i++){
if(head!=null){
cur=head.next;
head.next=pre;
pre=head;
head=cur;
}else{
return dum;
}
}
record.next=head;
if(m!=1){
record2.next=pre;
return dum;
}else{
return pre;
}
}
}