zoukankan      html  css  js  c++  java
  • 【算法题目】求链表的中间节点

      求链表的中间节点,如果链表中节点总数为奇数,返回中间节点;如果节点为偶数,返回返回中间两个节点的任意一个。

      思路:我们可以定义两个指针,同时从链表的头节点出发,一个指针一次走一步,另一个指针一次走两步。当走的快的指针走到链表末尾时,走的

      

    struct ListNode {
        int val;
        ListNode *next;
    
    };
    
    ListNode* FindIntermediateNode(ListNode* pHead) {
        if (pHead == NULL) 
            return NULL;
    
        ListNode* pFast = pHead;
        ListNode* pSlow = pHead;
    
        while (pFast != NULL && pFast->next != NULL) {
            pFast = pFast->next->next;
            pSlow = pSlow->next;
        }
    
        return pSlow;
    }
  • 相关阅读:
    问题2017S03
    问题2017S02
    高等代数问题1
    无穷积分换元法的严格解释
    线性空间的同构理论
    问题2017S01
    朴素贝叶斯分类
    决策树
    温习MATLAB
    感知机
  • 原文地址:https://www.cnblogs.com/vincently/p/4696244.html
Copyright © 2011-2022 走看看