zoukankan      html  css  js  c++  java
  • [专项]链表面试题汇总

    ——单链表反转(两种)(剑指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

     
     
     
     
     

     

  • 相关阅读:
    XML基础介绍【二】
    XML基础介绍【一】
    Java面向对象(三) 【面向对象深入:抽象类,接口,内部类等】
    Java面向对象(二)
    Java面向对象(一)
    main特别之处
    c语言线性表
    c语言三元组
    线性表(顺序表的创建)
    创建一个三元组
  • 原文地址:https://www.cnblogs.com/silyvin/p/9106586.html
Copyright © 2011-2022 走看看