每日一题 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;

    }
};
相关推荐
八股文领域大手子1 小时前
深入浅出限流算法(三):追求极致精确的滑动日志
开发语言·数据结构·算法·leetcode·mybatis·哈希算法
蒟蒻小袁3 小时前
力扣面试150题--K 个一组翻转链表
leetcode·链表·面试
许_安4 小时前
leetcode刷题日记——两数相加
算法·leetcode·职场和发展
关于不上作者榜就原神启动那件事6 小时前
力扣hot100,739每日温度(单调栈)详解
算法·leetcode·职场和发展
小卡皮巴拉6 小时前
【力扣刷题实战】丢失的数字
c++·算法·leetcode·位运算
刃神太酷啦7 小时前
排序--数据结构初阶(4)(C/C++)
c语言·数据结构·c++·算法·leetcode·深度优先·广度优先
凯子坚持 c8 小时前
深度解析算法之分治(归并)
算法·leetcode·职场和发展
PXM的算法星球13 小时前
【leetcode】3524 求出数组的X值1
算法·leetcode·职场和发展
椰羊~王小美16 小时前
LeetCode -- Flora -- edit 2025-04-27
算法·leetcode·职场和发展
mit6.8241 天前
[Lc_week] 447 | 155 | Q1 | hash | pair {}调用
算法·leetcode·哈希算法·散列表