力扣简876 链表的中间节点
只要一个一步一步走 另一个指针两步两步走 然后快的走到终点 慢的就是中点
//只有两种情况 一种中间节点有一个 一种有两个 分开讨论一下
public static ListNode middleNode(ListNode head) { ListNode temp=head; while(temp.next!=null&&temp.next.next!=null) { head=head.next; temp=temp.next.next; } if(temp.next!=null) {//只有两种情况 一种中间节点有一个 一种有两个 分开讨论一下 head=head.next; } return head; }
题解:1空间复杂度更高 链表存在listnode数组里 取中间值 2两次遍历一次计数一次找

浙公网安备 33010602011771号