From 67c2adc01aa670a0e2399d79b5dade070c7b4933 Mon Sep 17 00:00:00 2001 From: yuanguangxin <274841922@qq.com> Date: Mon, 23 Mar 2020 23:47:10 +0800 Subject: [PATCH] add q876 --- .idea/workspace.xml | 39 +++++++++++-------- README.md | 1 + .../q876_链表的中间结点/ListNode.java | 12 ++++++ .../q876_链表的中间结点/Solution.java | 16 ++++++++ 4 files changed, 51 insertions(+), 17 deletions(-) create mode 100644 src/快慢指针遍历/q876_链表的中间结点/ListNode.java create mode 100644 src/快慢指针遍历/q876_链表的中间结点/Solution.java diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 816062e..bbac213 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,7 +2,10 @@ + + + + - @@ -283,13 +286,8 @@ - - - 1580045439607 - 1580057171456 @@ -627,7 +625,14 @@ - @@ -691,7 +696,6 @@ - @@ -705,7 +709,8 @@ - @@ -720,14 +725,14 @@ - + - - + + - + @@ -778,10 +783,10 @@ - + - + diff --git a/README.md b/README.md index 34ccf4c..8a309c9 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ * [q141_环形链表](/src/快慢指针遍历/q141_环形链表) * [q202_快乐数](/src/快慢指针遍历/q202_快乐数) +* [q876_链表的中间结点](/src/快慢指针遍历/q876_链表的中间结点) ### 区间合并 diff --git a/src/快慢指针遍历/q876_链表的中间结点/ListNode.java b/src/快慢指针遍历/q876_链表的中间结点/ListNode.java new file mode 100644 index 0000000..b49880a --- /dev/null +++ b/src/快慢指针遍历/q876_链表的中间结点/ListNode.java @@ -0,0 +1,12 @@ +package 快慢指针遍历.q876_链表的中间结点; + + +public class ListNode { + int val; + ListNode next; + + ListNode(int x) { + val = x; + } +} + diff --git a/src/快慢指针遍历/q876_链表的中间结点/Solution.java b/src/快慢指针遍历/q876_链表的中间结点/Solution.java new file mode 100644 index 0000000..395d326 --- /dev/null +++ b/src/快慢指针遍历/q876_链表的中间结点/Solution.java @@ -0,0 +1,16 @@ +package 快慢指针遍历.q876_链表的中间结点; + +/** + * 快慢指针法 o(n) + */ +public class Solution { + + public ListNode middleNode(ListNode head) { + ListNode slow = head, fast = head; + while (fast != null && fast.next != null) { + slow = slow.next; + fast = fast.next.next; + } + return slow; + } +}