ホームページ  >  記事  >  ウェブフロントエンド  >  リンクされたリストの最後から K 番目のノードを取得する PHP メソッドの共有例。

リンクされたリストの最後から K 番目のノードを取得する PHP メソッドの共有例。

小云云
小云云オリジナル
2018-01-19 09:28:391286ブラウズ

この記事では、PHP のリンク リストの最後から K 番目のノードを取得する方法を主に紹介します。これには、PHP のトラバースとリンク リストの判断、およびその他の関連する操作スキルが含まれます。お役に立てれば幸いです。

質問

リンクリストを入力し、リンクリストの最後からk番目のノードを出力します。

ソリューションのアイデア

この質問は値ではなくノードを返すことに関するものであることに注意してください。戻り値はスタックに格納できます。これはリターンノードでは実行できません。

2 つのポインターを設定し、まず最初のポインターを k-1 回移動します。次に、2 つのポインターが同時に移動し、最初のポインターが最後のノードに到達すると、2 番目のポインターは下から k 番目のノードに位置します。

境界に注意してください: K の長さがリンクされたリストの長さを超える可能性があるため、最初のポインターの次が空の場合は null が返されます

実装コード


<span style="font-size: 14px;"><?php<br/>/*class ListNode{<br/> var $val;<br/> var $next = NULL;<br/> function __construct($x){<br/>  $this->val = $x;<br/> }<br/>}*/<br/>function FindKthToTail($head, $k)<br/>{<br/> if($head == NULL || $k ==0)<br/>  return NULL;<br/> $pre = $head;<br/> $last = $head;<br/> for($i=1; $i<$k; $i++){<br/>  if($last->next == NULL)<br/>   return NULL;<br/>  else<br/>   $last = $last->next;<br/> }<br/> while($last->next != NULL){<br/>  $pre = $pre->next;<br/>  $last = $last->next;<br/> }<br/> return $pre;<br/>}<br/></span>

関連する推奨事項:

DOM の概要とノード、属性、および検索ノード

リンクされたリスト内のリングのエントリ ノード インスタンスを見つける PHP 実装の詳細な説明

jQuery ノード トラバーサル方法の概要

以上がリンクされたリストの最後から K 番目のノードを取得する PHP メソッドの共有例。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。