ホームページ >バックエンド開発 >PHPチュートリアル >PHPを使用してリンクリストの最後からK番目のノードを取得する方法の説明
この記事では、PHP がリンク リストの最後から K 番目のノードを取得する方法を主に紹介し、PHP のトラバース、判断、およびその他のリンク リストの操作スキルを必要としている友人は参照してください
この記事の例では、リンク リストの最後から K 番目のノードを取得する 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 で header_php スキルを使用してカスタム データを送信する方法
php は ob_start() を使用して出力をクリアします。また、出力を選択する方法について説明します。
以上がPHPを使用してリンクリストの最後からK番目のノードを取得する方法の説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。