LeetCodeBug-タイプ 'structListNodeのnullポインター内のメンバーアクセス
Leetcodebug Member Access Within Null Pointer Typestruct Listnode
社説
私はこのBUGをやっていますが、この件に関してはLeetCodeクラスのリストですが、これは非常に代表的なものだと思います。この出会いのBUGが始まって以来、どこに問題があるのかわかりませんが、繰り返し比較されています。正解、私が見つけた結果はまったく同じですが、私は誤りを犯し、後でこの知識はまったく接触していないことがわかりました。このブログを通じて、彼が間違いを犯したことも記録し、思い出してください。
エラーメッセージ
間違った理由
エラーの詳細な原因は次のとおりです。 LeetCode-206。逆リンクリスト 。
間違った意味: 'structListNode'のnullポインタアクセスにメンバーを入力してください。
による: タイプ 'structListNode'のnullポインター内のメンバーアクセスLEETCODE 対 112.パスの合計 、問題の主な原因を理解するのは難しいことではありません。テストシステムは、現在のノードの次のノードとノードがNULLであるかどうかを認識していませんが、宣言されていないため、システムは不明であり、エラーが発生します。 。これは、他のいくつかのデータ構造よりも厳密に使用する場合のノードのリストについても説明します。使用するノードがNULLでないことを常に確認する必要があります。NULLは、適切な処理を行うためです。
解決
最初に、他の誰かの識別による解決策は、Yihuhuhuapiaoが声明を出しました:
while(second != NULL && second->next != NULL && first != NULL){ ... }
- 1
- 二
- 3
しかし、Yihuhuhuapiaoは特に正確ではないので、よく理解する必要があります。たとえば、私は以下を使用します。
ListNode *second=head->next
- 1
このステートメントのセマンティクスには問題はありませんが、headとhead-> nextを決定することはNULLではないため、次のステートメントを追加できます。
while(head==NULL||head->next==NULL) return head