链表oj----链表的中间结点
Posted ohana!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链表oj----链表的中间结点相关的知识,希望对你有一定的参考价值。
题目内容:
方法一:快慢指针法(让prev标记慢的那一个)
ListNode cur = head;
ListNode prev = head;
while(cur != null && cur.next != null){
prev = prev.next;
cur = cur.next.next;
}
return prev;
方法二:先计算出链表的长度,在遍历链表
ListNode cur = head;
int count = 0;
while(cur != null){
count++;
cur = cur.next;
}
count >>= 1;
cur = head;
while(count != 0){
cur = cur.next;
count--;
}
return cur;
更推荐方法一,只需要遍历一次链表,逻辑性也更强
以上是关于链表oj----链表的中间结点的主要内容,如果未能解决你的问题,请参考以下文章
[ 链表OJ题--C语言] 相交链表 两个链表的第一个公共结点