ホームページ  >  記事  >  バックエンド開発  >  PHPでリンクリストのノードを後ろから前に取得する手順の詳細な説明

PHPでリンクリストのノードを後ろから前に取得する手順の詳細な説明

php中世界最好的语言
php中世界最好的语言オリジナル
2018-05-19 14:48:461480ブラウズ

今回は、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 サイトの他の関連記事を参照してください。

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