首页 > 其他分享 >剑指 Offer 52. 两个链表的第一个公共节点

剑指 Offer 52. 两个链表的第一个公共节点

时间:2023-09-08 14:34:29浏览次数:47  
标签:ListNode nil Offer res 52 链表 headB headA

题目链接: 剑指 Offer 52. 两个链表的第一个公共节点

题目描述:

输入两个链表,找出它们的第一个公共节点。

解法思路:

代码:

/**
 * Definition for singly-linked list.
 * type ListNode struct {
 *     Val int
 *     Next *ListNode
 * }
 */
func getIntersectionNode(headA, headB *ListNode) *ListNode {
    var res *ListNode
    if headA == nil || headB == nil{
        return res
    }
    for p,q := headA,headB;p != nil || q != nil  ;p,q = p.Next,q.Next{
        if p == nil{
            p = headB
        } 
        if q == nil {
            q = headA 
        }
        if p == q {
            res = p
            break
        }
    }
    return res  
}

标签:ListNode,nil,Offer,res,52,链表,headB,headA
From: https://www.cnblogs.com/lxing-go/p/17687509.html

相关文章

  • 剑指 Offer 51. 数组中的逆序对
    题目链接:剑指Offer51.数组中的逆序对题目描述:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。解法思路:代码:暴力做法:funcreversePairs(nums[]int)int{varresintn:=len(nums......
  • 【校招VIP】测试算法考点之链表
    考点介绍:链表是一种逻辑简单的、实用的数据结构,几乎被所有程序设计语言支持。单链表的操作算法是笔试面试中较为常见的题目。相关题目及解析内容可点击文章末尾链接查看!一、考点试题1.一个长度为n的单向链表,用O(1)空间复杂度来实现倒转输出,使用最低时间复杂度解答:思路:读题(......
  • 剑指 Offer 49. 丑数
    题目链接:剑指Offer49.丑数题目描述:我们把只包含质因子2、3和5的数称作丑数(UglyNumber)。求按从小到大的顺序的第n个丑数。解法思路:代码://dp[i]代表第i个丑数//维护三个索引,不断乘235,谁小当前dp[i]选谁funcnthUglyNumber(nint)int{i2,i......
  • 剑指Offer 48. 最长不含重复字符的子字符串
    题目链接:剑指Offer48.最长不含重复字符的子字符串题目描述:请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。解法思路:代码:funclengthOfLongestSubstring(sstring)int{varresintifs==""{returnres}//......
  • LFU缓存算法(理解容易,主要是代码实现内外双map+双双向链表)
    packagearithmetic;importjava.util.HashMap;publicclassFaceTest82{//LFU缓存置换算法//比较词频,词频相同看时间点//置换之后,词频重新开始累计publicFaceTest82(intk){capacity=k;size=0;records=newHashMap<Integer,FaceTest82.Node>();heads=newH......
  • 剑指 Offer 60. n个骰子的点数
    把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。 你需要用一个浮点数数组返回答案,其中第i个元素代表这n个骰子所能掷出的点数集合中第i小的那个的概率。 示例1:输入:1输出:[0.16667,0.16667,0.16667,0.16667,0.16667,0.16667......
  • 剑指 Offer 60. n个骰子的点数
    把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。 你需要用一个浮点数数组返回答案,其中第i个元素代表这n个骰子所能掷出的点数集合中第i小的那个的概率。 示例1:输入:1输出:[0.16667,0.16667,0.16667,0.16667,0.16667,0.16667......
  • 剑指 Offer 22. 链表中倒数第k个节点
    输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。示例:给定一个链表:1->2->3->4->5,和k=......
  • 剑指 Offer 46. 把数字翻译成字符串
    题目链接:剑指Offer46.把数字翻译成字符串题目描述:解法思路:代码://dp[i]=dp[i-1]+dp[i-2]//dp[i]表示长度为i的数字,翻译成字符串有多少种functranslateNum(numint)int{s:=strconv.Itoa(num)n:=len(s)dp:=make([]int,n+1)dp[0]=1......
  • 剑指Offer
    题目链接:题目描述:解法思路:代码:funcfindNthDigit(nint)int{//1、确定是几位数(-10-90-900-9000等)//2、确定是几位数的第几位数(求第n位数是属于哪一个数的)//3、确定是属于那个数的第几位digit,digitNum,count:=1,1,9//digit表示是几位数;dig......