zoukankan      html  css  js  c++  java
  • 54链表中环的入口结点

    题目描述

    一个链表中包含环,请找出该链表的环的入口结点。
    思路:就是a= c,画个图找出规律就行,只有一个节点的时候,没有环,所以不存在第一个入口环节点,因此返回空。而不是返回第一个元素。就是按照思路写就行,没有其他的套路。
    /*
    struct ListNode {
        int val;
        struct ListNode *next;
        ListNode(int x) :
            val(x), next(NULL) {
        }
    };
    */
    class Solution {
    public:
        ListNode* EntryNodeOfLoop(ListNode* pHead){
            if(pHead == nullptr){
                return nullptr;
            }
            if(pHead -> next == nullptr){
                return nullptr;
            }
            ListNode* fast,* slow,*head;
            head = pHead;
            fast = slow = head;
            while(head != nullptr && head -> next != nullptr){
                fast = fast -> next -> next;
                slow = slow -> next;
                if(fast -> val == slow -> val){
                    break;
                }
            }
            fast = pHead;
            
            while(fast -> val != slow -> val){
                slow = slow -> next;
                fast = fast -> next;            
            }
            return fast;
        }
    };
  • 相关阅读:
    javascript
    vue-cli3 按需加载loading,服务的方式调用
    chrome devTool
    vuex
    git
    DNS寻址以及IP解析
    es6小记
    webpack 安装vue(两种代码模式compiler 和runtime)
    游戏屏幕朝向
    C#读写Json
  • 原文地址:https://www.cnblogs.com/dingxiaoqiang/p/8301052.html
Copyright © 2011-2022 走看看