zoukankan      html  css  js  c++  java
  • 剑指offer_52 两个链表的第一个公共节点

    思路:

    初识时两个指针分别指向两个链表的头节点,每次两个指针各向后走一步,如果指向空(走到末尾)就从另一个链表的头节点重新开始。最终这两个指针要么相等(找到解),要么同时为空(两个链表不相交)。

    实现:

     1 class Solution
     2 {
     3 public:
     4     ListNode *getIntersectionNode(ListNode *headA, ListNode *headB)
     5     {
     6         if (headA == NULL or headB == NULL) return NULL;
     7         ListNode* a = headA, *b = headB;
     8         while (a or b)
     9         {
    10             if (a == b) break;
    11             else if (a == NULL) a = headB;
    12             else if (b == NULL) b = headA;
    13             else { a = a->next; b = b->next; }
    14         }
    15         return a;
    16     }
    17 };
  • 相关阅读:
    双击返回 退出程序
    读取InputStream 中的内容
    wsgi服务器
    python 中的GIL
    json
    __getattr__
    错误类型
    __slot__用法
    获取属性以及基本方法
    linux IO
  • 原文地址:https://www.cnblogs.com/wangyiming/p/15142058.html
Copyright © 2011-2022 走看看