zoukankan      html  css  js  c++  java
  • [PHP] 数据结构-输出链表倒数第k个结点PHP实现

    输入一个链表,输出该链表中倒数第k个结点。第一个指针走(k-1)步,到达第k个节点,两个指针同时往后移动,当第一个结点到达末尾的时候,第二个结点所在位置就是倒数第k个节点了

    <?php
    class Node{
            public $data;
            public $next;
    }
    //创建一个链表
    $linkList=new Node();
    $linkList->next=null;
    $temp=$linkList;
    for($i=1;$i<=10;$i++){
            $node=new Node();
            $node->data="aaa{$i}";
            $node->next=null;
            $temp->next=$node;
            $temp=$node;
    }
    //输入一个链表,输出该链表中倒数第k个结点。
    
    function find($linkList,$k){
            //速度快的指针
            $fast=$linkList;
            //速度慢的指针
            $slow=$linkList;
            //快指针先移动k-1步
            for($i=0;$i<$k-1;$i++){
                    $fast=$fast->next;
            }   
            if($fast->next==null){
                    return false;
            }   
            //快慢指针一块移动
            while($fast->next!=null){
                    $fast=$fast->next;
                    $slow=$slow->next;
            }   
            return $slow;
    }
    
    
    $knode=find($linkList,2);
    var_dump($knode);
    object(Node)#10 (2) {
      ["data"]=>
      string(4) "aaa9"
      ["next"]=>
      object(Node)#11 (2) {
        ["data"]=>
        string(5) "aaa10"
        ["next"]=>
        NULL
      }
    }
  • 相关阅读:
    git 记录
    js 技巧
    首页三张幻灯片放什么
    6系统盈利方向
    WordPress获取某个分类关联的标签
    目标型长尾如何优化
    简介如何去除WordPress主题版权保护的方法
    2017.7.7 长尾关键词系统优化
    2017.7.6 目标关键词分析
    2017.7.2 seo知识总纲
  • 原文地址:https://www.cnblogs.com/taoshihan/p/9585422.html
Copyright © 2011-2022 走看看