葡京娱乐开元棋牌_开元棋牌靠谱吗_f1娱乐开元棋牌先锋网 葡京娱乐开元棋牌_开元棋牌靠谱吗_f1娱乐开元棋牌片段及技术文章聚合

链表返回中间结点

给定一个带有头结点 head 的非空单链表,返回链表的中间结点。

public ListNode middleNode(ListNode head) {
          if (head == null) {
           //如果链表为空
          return null;
          }
          //获取链表的总长度
          int len = size(head);
          ListNode node = head;
          for (int i = 0; i < len / 2; i++) {
                node = node.next;
           }
          return node;
     }

    public int size(ListNode head) {
        int size = 0;
        for (ListNode node = head; node != null; node = node.next) {
            size++;
        }
        return size;
    }
}

原文地址:链表返回中间结点