今回は、PHPでリンクリストのノードを後ろから前に取得する手順について詳しく説明します。PHPでリンクリストのノードを後ろから前に取得するための注意点は何ですか。実際のケースですので、見てみましょう。
質問
リンクリストを入力し、リンクリストの最後からk番目のノードを出力します。
ソリューションのアイデア
この質問は値ではなくノードを返すことに注意してください。戻り値はスタックに格納できます。これはリターンノードでは実行できません。
2 つのポインターを設定し、最初のポインターを k-1 回移動します。次に、2 つのポインターが同時に移動し、最初のポインターが最後のノードに到達すると、2 番目のポインターは下から k 番目のノードに位置します。
境界に注意してください: K の長さがリンクされたリストの長さを超える可能性があるため、最初のポインターの次が空の場合は null が返されます
実装コード
<?php /*class ListNode{ var $val; var $next = NULL; function construct($x){ $this->val = $x; } }*/ function FindKthToTail($head, $k) { if($head == NULL || $k ==0) return NULL; $pre = $head; $last = $head; for($i=1; $i<$k; $i++){ if($last->next == NULL) return NULL; else $last = $last->next; } while($last->next != NULL){ $pre = $pre->next; $last = $last->next; } return $pre; }
この記事の事例を読んで方法をマスターしたら、php 中国語 Web サイトの他の関連記事にも注目してください。
推奨読書:
tp5でmongoDBデータベースを操作する手順の詳細な説明(thinkPHP5)
PHP Class SoapClientが見つからない問題が発生する理由とその解決策
以上がPHPでリンクリストのノードを後ろから前に取得する手順の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。