不想走两遍,只想走一遍就完事
链表中的节点每k个一组翻转
http://www.nowcoder.com/practice/b49c3dc907814e9bbfa8437c251b028e
不想统计长度,用朴实的思路做好记录
import java.util.*;
public class Solution {
public ListNode reverseKGroup (ListNode head, int k) {
ListNode newhead=new ListNode(0);
ListNode cur=head;
ListNode p=newhead;
ListNode np=null;
int i=0;
while(cur!=null){
for(i=0;i<k&&cur!=null;i++){
cur=cur.next;
}
np=head;
if(i==k){
for(i=0;i<k;i++){
ListNode r=head.next;
head.next=p.next;
p.next=head;
head=r;
}
p=np;
}else{
p.next=head;
}
}
return newhead.next;
}
}
查看1道真题和解析