每日一题 382. 链表随机节点

382. 链表随机节点

简单

cpp 复制代码
class Solution {
public:
    int  n;
    ListNode* head;
    Solution(ListNode* head) {
        int cnt = 0;
        this->head = head;
        while(head != 0)
        {
            head = head->next;
            ++cnt;
        }
        n =  cnt;
    }
    
    int getRandom() {
        int idx = rand() % n;
        ListNode* h = head;
        while(idx != 0)
        {
            h = h->next;
            idx--;
        }
        return h->val;

    }
};
相关推荐
mmmmath_35 小时前
LeetCode.199.二叉树的右视图
数据结构·leetcode
Nil20810 小时前
leetcode 198打家劫舍
算法·leetcode·职场和发展
mmmmath_310 小时前
LeetCode.429.N叉树的层序遍历
数据结构·leetcode
INGNIGHT16 小时前
593 · 石头游戏 II (区间dp石子合并 翻倍循环问题)
leetcode
aqiu11111116 小时前
【C++算法打怪专栏】LeetCode 402. 移掉 K 位数字(单调栈 + 贪心)
c++·算法·leetcode
第六种自由17 小时前
[路飞]_Leetcode 22. 括号生成
javascript·算法·leetcode
longlongzihan17 小时前
LeetCode 24.两两交换链表中的节点:虚拟头结点与指针
算法·leetcode·链表
Xin77017 小时前
LeetCode 105. 从前序与中序遍历序列构造二叉树(递归分治法)
leetcode
longlongzihan18 小时前
从LeetCode 19. 删除链表的倒数第 N 个结点深入理解“哨兵节点”
c++·算法·leetcode·链表
java_nnnn18 小时前
LeetCode刷题滑动窗口(长度最小的子数组)
算法·leetcode·职场和发展