ICode9

精准搜索请尝试: 精确搜索
  • 面试题52(剑指offer)--输入两个链表,找出它们的第一个公共结点。2019-08-08 22:02:53

    题目: 输入两个链表,找出它们的第一个公共结点。 解法一: //计算两个链表的长度,长的链表先走比短的链表多的几步,然后两个链表再同时移动,直至节点相等或者为空 public ListNode findFirstCommonNode(ListNode pHead1, ListNode pHead2) { int countOne = getLinkNod

  • 合并两个排序链表 输入两个单调递增的链表,输出两2019-08-08 17:02:01

    【问题】输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 【思路】这个思路应该都可以想到归并排序的方法,然后进行组合形成最终的链表,需要注意的是,由于pHead1和pHead2的第一个链表节点谁大谁小不确定,因此头结点无法确定,因此我们需要新

  • 两个链表有一个交点,如何在时间复杂度 O(n) 和 空间复杂度 O(1) 的条件下实现?_字节跳动面试题2019-07-10 15:03:40

    输入两个链表,找出它们的第一个公共结点 我们可以首先遍历两个链表得到它们的长度,就能知道哪个链表比较长, 我们可以首先遍历两个链表得到它们的长度,就能知道哪个链表比较长,以及长的链表比短的链表多几个结点。在第二次遍历的时候,在较长的链表上先走若干步,接着再同时在两个链表上遍历

  • 两个链表的第一个公共节点(剑指offer)2019-07-09 19:42:27

    题目描述 输入两个链表,找出它们的第一个公共结点。 解题思路 比较简单的一道题,用map映射第一个链表节点,再遍历第二个链表看有没有已经出现的。 /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ class Solution {

  • 36 两个链表的第一个结点2019-07-07 12:01:22

    题目要求:输入两个链表,找出它们的第一个公共结点。 这个题目有很多个思路,  假设链表一长度为m,链表二长度为n 思路一: 找出两个链表长度差,然后同时遍历 时间复杂度为O( max{m,n}) 空间复杂度为O(1) 但是代码太多了,敲着真得很不爽 1 /* 2 public class ListNode { 3 int

  • 两个链表的第一个公共结点2019-05-06 21:48:05

    原文地址:https://www.jianshu.com/p/0434efbfbdad 时间限制:1秒 空间限制:32768K 题目描述 输入两个链表,找出它们的第一个公共结点。 我的代码 /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { } };*/ cl

  • 剑指offer:合并两个排序的链表2019-04-24 10:55:07

    题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 # -*- coding: utf-8 -*- # @Time : 2019-04-24 10:17 # @Author : Jayce Wong # @ProjectName : job # @FileName : mergeSortedLinkedList.py # @Blog

  • 牛客网:将两个单调递增的链表合并为一个单调递增的链表-Python实现-两种方法讲解2019-04-06 22:41:36

    方法一和方法二的执行效率,可以大致的计算时间复杂度加以对比,方法一优于方法二   1. 方法一:   思路:     1. 新创建一个链表节点头,假设这里就叫 head3;     2. 因为另外两个链表都为单调递增,所以每次对比这两个链表的第一个节点的值,取出值较小的节点,把其放在 head3 链表的

  • 剑指offer--44.两个链表的第一个公共结点2019-03-31 12:47:37

    @selfboot 牛逼的代码,长度相同,一遍出结果, 长度不同,短的点跑完,变成长的,当长的跑完变成短的链表的时候,较长的链表已经走过了多的结点。 ------------------------------------------------------------------------------------------------------------------------ 时间限制:1秒 空

  • 2019.3.25线性表2019-03-25 22:41:28

    ListNode* Merge(ListNode* pHead1, ListNode* pHead2) {     if(pHead1 == NULL)         return pHead2;     else if(pHead2 == NULL)         return pHead1;       ListNode* pMergedHead = NULL;       if(pHead1->m_nValue < pHead2->

  • 合并链表2019-03-23 09:47:57

    题目 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路 两个链表都是单调递增的,只要不断比较链表的头结点就可以了,取比较小的那个成为新链表的头结点 代码 /* function ListNode(x){ this.val = x; this.next = null; }*/ f

  • 题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。2019-03-15 15:43:34

    class Solution {public: ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { if(pHead1 == NULL && pHead2 == NULL) return NULL; if(pHead1 == NULL){ return pHead2; } if(pHead2 == NULL){

  • 链表 寻找2个链表的第一个公共节点2019-02-26 18:49:26

    输入两个链表,找出它们的第一个公共结点。 思路:由于从某个节点开始2个链表相交,那么之后的节点完全一样 先求出2个连表长度  先使得长的链表  先走差值的长度 然后2个指针并排前进,并判断是否相等,若相等即为第一个公共节点 (需要注意 NULL的情况) class Solution { public: L

  • 【剑指offer】37. 两个链表的第一个公共节点(python)2019-02-24 12:49:37

    题目描述 输入两个链表,找出它们的第一个公共结点。 思路 《剑指offer》P193 方法一 使用辅助空间栈,遍历两个链表,将节点保存到栈中。然后利用栈先进后出的特点找到公共节点。 方法二 先遍历一遍得到两个链表的长度m和n,假设m>n,则较长的链表先走m-n步,然后两个链表同时向后走,直到

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有