您当前的位置: 首页 >  Java
  • 1浏览

    0关注

    674博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java实现寻找链表的中间节点

沙漠一只雕得儿得儿 发布时间:2017-05-23 16:25:50 ,浏览量:1

利用快慢指针:

设置两个指针slow和fast,两个指针同时向前走,fast指针每次走两步,slow指针每次走一步,直到fast指针走到最后一个结点时,此时slow指针所指的结点就是中间结点。

public class l链表中间节点 {
	public static void main(String[] args){
		int[] array = {1,2,3,4,5,6,7,8,9,10,11,12,13};
		ListNode head = ListNode.arrayToList(array);
		ListNode.printList(head);
		findMid(head);
	}

	private static void findMid(ListNode head) {
		ListNode slow = head;
		ListNode fast = head;
		while(fast.next != null){
			if(fast.next.next != null){
				fast = fast.next.next;
				slow = slow.next;
			} else {
				slow = slow.next;
			}
			
		}
		System.out.println(slow.val);
	}
}

关注
打赏
1657159701
查看更多评论
立即登录/注册

微信扫码登录

0.0366s