题目
快慢指针:
class Solution {
public ListNode middleNode(ListNode head) {
ListNode pquick=head;
ListNode pslow=head;
while(pquick!=null&&pquick.next!=null){
pslow=pslow.next;
pquick=pquick.next.next;
}
return pslow;
}
}
迭代:
class Solution {
public ListNode middleNode(ListNode head) {
int length=0;
ListNode dummy=new ListNode(0);
dummy.next=head;
ListNode p=dummy;
while(p.next!=null){
length++;
p=p.next;
}
int mid=length/2+1;
p=dummy;
while(mid>0){
p=p.next;
mid--;
}
return p;
}
}