晋江文学城
下一章 上一章  目录  设置

6、7.20 链表 ...

  •   练背
      +38min无跳跃有氧

      链表题
      141 环形链表
      判断是否为环形链表,建立两个指针,slow走一步,fast走两步,当两个指针相遇时,则说明是环形链表
      142环形链表2
      涉及到公式计算,如141题一样,先要确定第一次相遇的位置,之后重新定义一个指针,重头开始,使新指针和slow指针每次走一步,当相遇时,就是其环形点
      160 相交链表方法一:用stack,放入栈后,一个个进行比较
      方法二:用map,代码如下:
      class Solution {
      public:
      ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {
      map m;
      while(headA){
      m[headA]++;
      headA=headA->next;
      }
      while(headB){
      if(m.find(headB)!=m.end())return headB;
      headB=headB->next;
      }
      return NULL;
      }
      };
      19. 删除链表的倒数第n个结。
      方法一:我是计算出来链表长度后,直接删。注意边界
      方法二:双指针也搞定了

  • 昵称:
  • 评分: 2分|鲜花一捧 1分|一朵小花 0分|交流灌水 0分|别字捉虫 -1分|一块小砖 -2分|砖头一堆
  • 内容:
  •             注:1.评论时输入br/即可换行分段。
  •                 2.发布负分评论消耗的月石并不会给作者。
  •             查看评论规则>>