在牛客網上刷題時,出現了如下的錯誤:
您的**已儲存 段錯誤:您的程式發生段錯誤,可能是陣列越界,堆疊溢位(比如,遞迴呼叫層數太多)等情況引起 case通過率為0.00%
試題題目為:複雜鍊錶的複製。
class solution
pnode = phead;
pclonenode = clonenode;
while(pnode)
return clonenode;
}
};
錯誤為第乙個while語句塊中,判斷語句為pnode 如果pnode為null則跳出,但是在下面的語句中出現邏輯錯誤,即如果pnode為null時,還要繼續去尋找pnode的next ,但是pnode已經為null了,則尋找已經為null的其中的組成部分,錯誤。 複製乙個複雜鍊錶
節點結構 public class randomlistnode 先說一下思路,看起來貌似可以用遞迴,但是因為存在隨機指標,所以可能出現環路,所以用遞迴不可以。如下 public class solution randomlistnode currentnode phead 1 複製每個結點,如複製...
劍指刷題 複製乙個複雜鍊錶
複雜鍊錶的資料元素 包括 資料域 next域 乙個隨機域,隨機也是指向這個鍊錶中的任乙個結點。解題思路是 從頭到尾 遍歷的同時 複製鍊錶結點,在複製鍊錶結點的時候 只能 暫時根據原鍊錶複製出 資料域 和next指標域,隨機指向的結點,不一定已經複製出新結點。所以在這個同時 將 原鍊錶每個結點的位址 ...
複雜鍊錶複製
複雜鍊錶複製的標頭檔案mlist.h ifndef mlist h define mlist h include include includetypedef int datatype typedef struct node node,pnode,plist pnode crealist datat...