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

    }
};
相关推荐
小欣加油2 小时前
leetcode56 合并区间
c++·算法·leetcode·职场和发展
8Qi86 小时前
LeetCode 516:最长回文子序列
算法·leetcode·职场和发展·动态规划
小欣加油10 小时前
leetcode287寻找重复数
数据结构·c++·算法·leetcode
怪兽学LLM11 小时前
LeetCode 438 找到字符串中所有字母异位词(Python 固定滑动窗口+字符计数解法)
python·算法·leetcode
Tisfy12 小时前
LeetCode 3689.最大子数组总值 I:What The Medium
算法·leetcode·题解·贪心·模拟·脑筋急转弯
moeyui70513 小时前
LeetCode 380:Insert Delete GetRandom O(1) 题解和一些延伸
算法·leetcode·职场和发展
圣保罗的大教堂13 小时前
leetcode 3689. 最大子数组总值 I 中等
leetcode
退休倒计时13 小时前
【每日一题】LeetCode 15. 三数之和 TypeScript
数据结构·算法·leetcode·typescript
小欣加油14 小时前
leetcode3689最大子数组总值I
c++·算法·leetcode·职场和发展·贪心算法
人道领域15 小时前
【LeetCode刷题日记】90.子集Ⅱ--- 归纳题解
java·开发语言·leetcode