斐波那契数列与链表

一 斐波那契数列

1.列出n=0或1的情况

2.定义f[o]与f[1]的值

3.n>1情况下,循环内部包含递推公式,注意循环终止条件

二 链表的问题

第一种:很粗暴,在while条件下,直接把链表元素放入数组中,然后进行操作就简单一些

第二种:就用链表基本就是 节点.val=值     节点.next=下一个节点,再加上while循环,基本能解决大多问题。比如链表,输出该链表中倒数第k个结点

注:具体来说链表有两个操作,

  一是改变指向    head.next=pHead1;next在前

      二当前节点移至下一个结点 pHead1=pHead1.next   next在后

//代码主要借鉴JavaScript版剑指offer
function FindKthToTail(head, k)
{
    // write code here 快慢指针,快指针比慢的多k
    if(head == null || k <= 0) return null;
    var pre = head;
    var tail = head;
    for(let i=1; i<k; i++) {
        if(tail.next != null) {
            tail = tail.next;
        }else {
            return false;
        }
    }
    while(tail.next != null) {
        pre = pre.next;
        tail = tail.next;
    }
    return pre
}

 

posted @ 2019-04-03 22:10  后小白  阅读(346)  评论(0编辑  收藏  举报