1. 程式人生 > >LeetCode上遇到Runtime Error錯誤

LeetCode上遇到Runtime Error錯誤

今天在LeetCode上做一道求單鏈表交集的演算法題(160),提交時出現如下錯誤:


提交的程式碼如下:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */<pre name="code" class="cpp">/*雙指標求單鏈表交集*/
<pre name="code" class="cpp">struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) {
    struct ListNode *pA=headA,*pB=headB;
    int la,lb,n=0;
    if(pA==NULL||pB==NULL)
      return NULL;
    while(pA)
    {
        la++;
        pA=pA->next;
    }
    while(pB)
    {
        lb++;
        pB=pB->next;
    }
    if(la<=lb)
    {
        n=lb-la;
        pA=headA;
        pB=headB;
        while(n)
        {
            pB=pB->next;
            n--;
        }
    }
    else
    {
        n=la-lb;
        pA=headA;
        pB=headB;
        while(n)
        {
            pA=pA->next;
            n--;
        }
    }
    while(pA!=pB)
    {
       pA=pA->next;
       pB=pB->next;
    }
    return pA;
}
仔細找了半天也沒發現程式邏輯上的錯誤,令我百思不得其解,於是開始研究Runtime Error這個問題,在http://www.webopedia.com/TERM/R/runtime_error.html上找到了如下定義:

(run´tīm er´&r) (n.) An error that occurs during the execution of a program. In contrast, compile-time errors occur while a program is being compiled. Runtime errors indicate bugs in the program or problems that the designers had anticipated but could do nothing about. For example, running out of 

memory will often cause a runtime error.

Note that runtime errors differ from bombs or crashes in that you can often recover gracefully from a runtime error.

大致翻譯如下:

Rumtime error(執行時錯誤)是發生在程式執行過程中的一種錯誤。與之相對的是compile-time errors(編譯時錯誤),它發生在程式編譯過程中。Runtime errors表明程式中存在一些漏洞和問題,而程式設計師雖然能預料到這些錯誤但並不能做任何事情。比如說,記憶體溢位通常會導致runtime error。

應當注意的是runtime errors和bombs或者crashes(程式崩潰)不同,你通常可以從前者中優雅地恢復過來。


可以看到有四種錯誤會導致runtime_error,具體可以點選上述連結進行檢視。

知道了runtime error機理後回到我的程式,最後發現是變數初始化的問題:

    struct ListNode *pA=headA,*pB=headB;
    int la,lb,n=0;
本來希望將la,lb,n都初始化為0,但上述程式碼實際上只聲明瞭la和lb,並沒有對其進行初始化,所以執行時其值是一個隨機數,從而導致程式錯誤。

將上述程式碼改為:

    struct ListNode *pA=headA,*pB=headB;
    int la=0,lb=0,n=0;
提交通過。

相關推薦

LeetCode遇到Runtime Error錯誤

今天在LeetCode上做一道求單鏈表交集的演算法題(160),提交時出現如下錯誤: 提交的程式碼如下: /** * Definition for singly-linked list. * struct ListNode { * int val; *

關於ASP.NET 伺服器報錯 Server Error in '/' Application Runtime Error 錯誤及解決方法

今天遇到一個錯誤 程式在伺服器上執行時報錯 先貼上錯誤程式碼 自己也在網上找了一些解決方法,把錯誤定位到伺服器的配置檔案也就是Web.config的問題, 於是在system.web節點下 加上customErrors mode="Off" 這個節點 可是問題並沒有解決 在此也說一下 找錯誤的時候一

釋出的網站訪問時出現Runtime Error錯誤

        釋出某個網站,在使用了一段時間以後,會時不時地提示Runtime Error的錯誤。有時候重新開啟網站就好了,有時候卻很久不能訪問網站。具體黃頁頁面資訊如下:         可能的解決辦法有以下幾個:         1. 在工作管理員中刪除asp.ne

關於在oj出現Runtime error 的情況

越棧了,比如陣列開的不夠大 編譯錯誤時Compilation Error Runtime Error (RE) : 執行時錯誤,這個一般是程式在執行期間執行了非法的操作造成的。以下列出常見的錯誤型別: ACCESS_VIOLATION 您的程式想從一些非法的地址空間讀取或向其中寫入內容。一般例如指標、陣列下

Server Error in '/' Application Runtime Error 錯誤

bubuko 解決方案 fig bsp 小時 就會 ont info 不一致 項目發布後 在本地發布可以運行 在服務器就會出現這種錯誤 在網上也查找了各種資料 解決方案 都沒有解決 因為我用的C# 首先在 Webconfig配置文件中的  system.

C錯誤runtime error,返回區域性變數或臨時變數的指標

在codeforce上runtime error runtime error (執行時錯誤)就是程式執行到一半,程式就崩潰了。 比如說: ①除以零 ②陣列越界:int a[3]; a[10000000]=10; ③指標越界:int * p; p=(int *)malloc(5 * si

LeetCode runtime error

今天在寫LeetCode的某一道題目時候,遇到runtime error問題,本地能過,submit後死活不能通過。 查了一下網上的一些答案,基本上都是陣列、指標沒有初始化造成野指標、陣列索引值越界。 看了自己的程式碼覺得沒啥問題,沒有到陣列,那隻能夠是連結串列的指標變成野指標的問題。仔細看了兩遍程式碼,終於

windows+django+apache部署錯誤Runtime error R6034

執行apache發生runntime error R6034錯誤,主要是軟體之間相容性差導致的,根據本人親測,這個方法最簡單高效把以下程式碼複製到settings 檔案頭部即可解決“Runtime error R6034 ”問題。import os, re path = os

Qt生成併發布程式在別的機器執行 發生Microsoft Visual C++ Runtime Library 錯誤

問題簡述 開發所屬系統:window 7 x64 開發IDE 下載     訪問密碼 5460 : 問題: [注意:庫一定要源自自己Qt程式相對編譯器bin目錄下動態庫,不要隨意從網上下載,大多數情況下造成此等錯誤提示,一般由於動態庫

【轉載】R6034錯誤,C Runtime Error

這是我轉的一篇非常全的帖子  能查到的解決方法都在裡面有提及:  我是使用 stdafx.h加入這句 code #pragma comment(linker, "\"/manifestdependency:type='Win32' name='Microsoft.VC80.

解決:yum安裝軟件包Transaction Check Error錯誤

管理工具 軟件包 yum 解決:yum安裝軟件包Transaction Check Error錯誤 yum(YellowdogUpdater,Modified)是軟件包管理工具,就不多說了。錯誤產生的環境:OS:CentOS release 6.5 (Final)uname -r:2.6.32-4

HDFS傳文件錯誤--hdfs:DFSClient:DataStreamer Exception

.cn .com ges xxx -h 分享 p地址 str exce 今天上傳文件的時候發現傳上去的文件為空,錯誤提示如上述所示,原來是IP地址改掉了對呀應etc/hosts下面的IP地址也要改變,永久改ip命令-ifconfig eth0 xxx·xxx·xxx·xxx

Xcode8 - apploader 傳失敗 - ERROR ITMS-90168: "The binary you uploaded was invalid."

error 開始 計劃 技術支持 項目 網上 錯誤 ica sta 背景:最近電腦升級了系統macOS Sierra 10.12.1;Xcode 也升級到了Version 8.1 (8B62)。 問題:使用Application Loader3.0 上傳應用到iTunes

[Nuget] - "Runtime error: Could not load file or assembly 'System.Web.WebPages.Razor, Version=3.0.0.0'" 問題之解決

未能加載文件 nuget man 5.0 install ges 成功 could not .com 環境 項目中使用了 System.Web.WebPages.Razor, Version=3.0.0.0,Nuget 還原缺失包後自動更新至 Version=3.2.5.0

facebook視頻傳python 返回錯誤code:100,'type':OAuthException

log 上傳 except 分享 ice ces evel hex cnblogs 首先重新獲取訪問口令token: https://developers.facebook.com/tools/debug/accesstoken/?q=EAAYDuzyd3eYBAK9

ORA-28547:connection to server failed, probable Oracle Net admin error錯誤,解決方法

pro div oracle 資料 安裝 err ora-28547 解決 方法 當用navicat連接oralce數據庫時報ORA-28547錯誤時,直接懵逼了,上網查了資料說是navicat自帶的oci.dll文件的版本和服務器端的oralce數據庫的版本不一致造成的。

織夢dedecms手機版下篇鏈接錯誤的解決方法

his else if body bsp AI view pos tle IT 打開 \include\arc.archives.class.php 1. 找到 $this->PreNext[‘pre‘] = "上一篇:<a href=‘$mlink‘>

spring mvc MultipartFile 傳文件錯誤解決

文件 上傳 ces port not in servle resolv spa AR org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.s

EDAC DIMM CE Error錯誤導致服務器重啟

EDAC DIMM CE Error服務器一: [root@localhost ~]# tailf /var/log/messages May 8 09:10:59 localhost kernel: sbridge: HANDLING MCE MEMORY ERROR May 8 09:10:59 lo

全網最詳細的啟動或格式化zkfc時出現java.net.NoRouteToHostException: No route to host ... Will not attempt to authenticate using SASL (unknown error)錯誤的解決辦法(圖文詳解)

手機 TP 關註 fail AS hadoop .net ror cep     不多說,直接上幹貨! 解決辦法:     每臺機器都,先執行,sudo chkconfig ipta