首页 > 其他分享 >LeeCode打卡第十六天(补充题)

LeeCode打卡第十六天(补充题)

时间:2024-09-02 12:24:49浏览次数:11  
标签:第十六 slow ListNode fast next 链表 LeeCode 打卡 null

补充一题:环形链表II(LeeCode第142题):

给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改 链表。


/**
 * Definition for singly-linked list.
 * class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */
public class Solution {
    public ListNode detectCycle(ListNode head) {

        ListNode slow = head, fast = head;
        while(fast != null && fast.next != null){
            slow = slow.next;
            fast = fast.next.next;
            if(fast == slow) {
                ListNode p = head;
                ListNode q = slow;
                while(p != q){
                    p = p.next;
                    q = q.next;
                }
                 return p;
            }
        }
        return null;
    }
}

标签:第十六,slow,ListNode,fast,next,链表,LeeCode,打卡,null
From: https://blog.csdn.net/qq_48527330/article/details/141816610

相关文章

  • 打卡信奥刷题(676)用Scratch图形化工具信奥B3867[普及组/提高组] [GESP202309 三级] 小
    [GESP202309三级]小杨的储蓄题目描述小杨共有NNN个储蓄罐,编号从00......
  • Datawhale X 李宏毅苹果书AI夏令营 Task2打卡
    3.3自适应学习率当梯度大小不再下降时,并不代表梯度本身已经变得很小接近于0了,有可能是梯度在波谷之间来回震荡。原始的梯度下降在很简单的误差表面上都不一定能够达到临界点,因此引入自适应学习率。3.3.1AdaGrad传统的梯度下降更新参数\(\theta_t^i\)的过程是\[\theta_{t+......
  • Task2打卡了解线性模型
    在本节提到线性模,我第一反应是我学过的线性代数。曾经学过的简单的数学概念如线性方程被演化成了复杂而强大的工具,用于解决现实世界中的预测问题。这里不仅解释了线性模型的基础原理,还探讨了如何通过添加非线性组件如ReLU函数或Sigmoid函数,将模型提升到一个新的层次。线性模型的局......
  • day14打卡
    最大二叉树classSolution{public:intgetmax(vector&vec){intindex=0;intmax=INT_MIN;for(inti=0;i<vec.size();++i){if(max<vec[i]){max=vec[i];index=i;}}returnindex;}TreeNode*traversal(vector&nums){if(nums.empt......
  • day13打卡
    树左下角值classSolution{public:voidtraversal(TreeNoderoot,intdepth,int&ret,int&maxdepth){if(root->left==nullptr&&root->right==nullptr){if(depth>maxdepth){maxdepth=depth;ret=root->val;}}if(root->......
  • day12打卡
    平衡二叉树classSolution{public:intgetheight(TreeNode*root){if(root==nullptr){return0;}intleft=getheight(root->left);intright=getheight(root->right);return1+max(left,right);}boolisBalanced(TreeNode*root){if(root==nullptr)......
  • day11打卡
    翻转二叉树classSolution{public:voidtraversal(TreeNoderoot){if(root==nullptr){return;}traversal(root->left);traversal(root->right);TreeNodetmp=root->left;root->left=root->right;root->right=tmp;}TreeNodeinvertTree(T......
  • day9打卡
    用栈实现队列classMyQueue{public:MyQueue(){}voidpush(intx){stIn.push(x);}intpop(){inta;while(!stIn.empty()){a=stIn.top();stIn.pop();stOut.push(a);}a=stOut.top();stOut.pop();while(!stOut.empty()){intb=stOut.top();stOut.pop();......
  • day8打卡
    反转字符串中的单词classSolution{public:stringreverseWords(strings){intslow=0;inti=0;while(i<s.size()){if(s[i]!=''){if(slow!=0){s[slow++]='';}while(i<s.size()&&s[i]!=''){s[slow+......
  • day7打卡
    反转字符串利用双指针不断向中间靠拢,交换数据classSolution{public:voidreverseString(vector&s){intleft=0;intright=s.size()-1;while(left<right){chartmp='\0';tmp=s[left];s[left++]=s[right];s[right--]=tmp;}}};反转字符串II......