• [专项]链表面试题汇总


    ——单链表反转(两种)(剑指offer,题16)

    顺序的ok

    递归的nok

    ——查找单链表中的中间结点

    两个指针,一个走一步,一个走2步,走2步的那个null,则停止

    ok

     

    ——查找单链表中的倒数第k个结点(剑指offer,题15)  

    两个指针 ,一个先走,再同时走,先走的那个null了,则停止

    ok

     

    ——合并两个有序的单链表,合并之后的链表依然有序【出现频率高】(剑指offer,题17)

    递归

    [cpp] view plain copy
     
     
    1. Node *ListMerge1(Node *head1,Node *head2)//采用递归的方法实现  
    2. {  
    3.     if(head1==NULL)  
    4.         return head2;  
    5.     if(head2==NULL)  
    6.         return head1;  
    7.     Node *head=NULL;  
    8.     if(head1->value < head2->value)  
    9.     {  
    10.         head=head1;  
    11.         head->next=ListMerge1(head1->next,head2);  
    12.     }  
    13.     else  
    14.     {  
    15.         head=head2;  
    16.         head->next=ListMerge1(head1,head2->next);  
    17.     }  
    18.     return head;  
    19. }  

    ok

    ——从尾到头打印单链表(剑指offer,题5)

    递归 、栈

    ok

    ——判断两个单链表相交的第一个交点(剑指offer,题37)

    a b两个链表,长的先走 delta length 步,然后共同走,且判断指针是否相同,相同者既是
    ok
     

    ——判断两个链表是否相交

    直接看最后一个节点 o(m+n)

    ok

     
     
    ——给出一单链表头指针pHead和一节点指针pToBeDeleted,O(1)时间复杂度删除节点pToBeDeleted: delete(剑指offer,题13)
    n+1 复制到n,n.next=(n+1).next

    ok

     ——链表环
     
     
    以上摘自:
    https://blog.csdn.net/u012129558/article/details/52575543

    https://blog.csdn.net/qq_25827845/article/details/60961792

    https://blog.csdn.net/qq_25827845/article/details/61623370

     
     
     
     
     

     

  • 相关阅读:
    单例模式
    java笔记 chapter7 抽象类和数组
    java笔记 chapter6 StringBuffer类和String Bulider类,Math类 Date类,Calendar类
    设计上的若干问题
    Java中的二次分发
    关于抽象
    SSI框架下同一个Bean加载了2次问题解决
    Hello 2015
    关于window.location.href is not a function在FF,chrom报错问题
    使用Eclipse的一些小心得!
  • 原文地址:https://www.cnblogs.com/silyvin/p/9106586.html
Copyright © 2020-2023  润新知