この記事では、PHP のリンク リストの最後から K 番目のノードを取得する方法を主に紹介します。これには、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 の各バージョンの関数型宣言の詳細な説明 PHP は文字ストリーム内の最初の非反復文字を取得します以上がリンクされたリストの最後から K 番目のノードを取得する PHP メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。