题目

https://leetcode.com/problems/linked-list-random-node/

题解

先存起来,再随机返回即可。不知道在考察什么?

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {List<Integer> list;java.util.Random rand = new java.util.Random();/** @param head The linked list's head.Note that the head is guaranteed to be not null, so it contains at least one node. */public Solution(ListNode head) {list = new LinkedList<>();while (head != null) {list.add(head.val);head = head.next;}}/** Returns a random node's value. */public int getRandom() {return list.get(rand.nextInt(list.size()));}
}
/*** Your Solution object will be instantiated and called as such:* Solution obj = new Solution(head);* int param_1 = obj.getRandom();*/

leetcode 382. Linked List Random Node | 382. 链表随机节点(Java)相关推荐

  1. 【LeetCode】剑指 Offer 18. 删除链表的节点

    [LeetCode]剑指 Offer 18. 删除链表的节点 文章目录 [LeetCode]剑指 Offer 18. 删除链表的节点 一.双指针 一.双指针 本题删除值为 val 的结点需分为两步: ...

  2. LeetCode 382. 链表随机节点(概率)

    1. 题目 给定一个单链表,随机选择链表的一个节点,并返回相应的节点值.保证每个节点被选的概率一样. 进阶: 如果链表十分大且长度未知,如何解决这个问题?你能否使用常数级空间复杂度实现? 来源:力扣( ...

  3. Leetcode 382. 链表随机节点 解题思路及C++实现

    解题思路: 因为题目中要求需要常数级的空间复杂度,所以就需要计算链表长度了. /*** Definition for singly-linked list.* struct ListNode {* i ...

  4. [Swift]LeetCode382. 链表随机节点 | Linked List Random Node

    原文地址:https://www.cnblogs.com/strengthen/p/10282841.html Given a singly linked list, return a random ...

  5. LeetCode Linked List Random Node(蓄水池采样算法)

    问题:给出一个单链表,随机选择链表中的一个节点,返回相应的值.保证每个节点被选的概率一样 思路:每次只保留一个数,当遇到第 i 个数时,以 1/i的概率保留它,(i-1)/i的概率保留原来的数. 具体 ...

  6. LeetCode 142. Linked List Cycle II--单向链表成环的起点--C++,Python解法

    题目地址:Linked List Cycle II - LeetCode Given a linked list, return the node where the cycle begins. If ...

  7. LeetCode Reverse Linked List II 反置链表2

    题意:将指定的一段位置[m,n]的链表反置,返回链表头. 思路:主要麻烦在链表头,如果要从链表头就开始,比较特殊. 目前用DFS实现,先找到m-1的位置,再找到n+1的位置,中间这段就是否要反置的,交 ...

  8. 链表逆序(JAVA实现)

    题目:将一个有链表头的单向单链表逆序 分析: 链表为空或只有一个元素直接返回: 设置两个前后相邻的指针p,q,使得p指向的节点为q指向的节点的后继: 重复步骤2,直到q为空: 调整链表头和链表尾: 图 ...

  9. [LeetCode] Reverse Linked List I II - 链表翻转问题

    题目概述:         Reverse a singly linked list.         翻转一个单链表,如:1->2 输出 2->1:1->2->3 输出3-& ...

最新文章

  1. python代码变量作业_python - 是否可以在Jenkins的代码中注入变量,然后像往常一样运行作业? - SO中文参考 - www.soinside.com...
  2. echarts的词云图表类型有哪些_词云图的几种制作方法评测,你pick哪款
  3. joomla网页无任何显示输出
  4. 常用String方法
  5. layer.msg();怎么关闭
  6. python爬虫代码1000行-Python爬虫教程(16行代码爬百度)
  7. socket编程为什么要选择AF_INET?
  8. 4.帧循环(游戏主循环),schedule
  9. RVDS4.0上开发cortex A8 NEON程序
  10. python规模大小的指标是_训练数据多少才够用
  11. html文档head,HTML的head标签
  12. 用python实现接口测试(八、实现序列化与反序列化)
  13. 使用JavaScript重定向URL参数
  14. LeetCode(485)——最大连续1的个数(JavaScript)
  15. MyBatis3-SqlSessionDaoSupport的使用
  16. UED团队建设系列之前端开发工程师:职业技能与素质
  17. JavaScript中常见的设计模式
  18. go语言:sync.Once的用法
  19. 苹果系统升级服务器,苹果操作系统升级 正式挥别PowerPC
  20. 2.数据分析-面板数据变系数模型

热门文章

  1. HDU - 5658 CA Loves Palindromic(回文自动机/哈希+树状数组)
  2. 牛客 - 走迷宫(模拟+离线)
  3. ZOJ - 2972 Hurdles of 110m(记忆化搜索/动态规划)
  4. c语言设计一个仿真窗口的程序,51单片机C语言实例(350例)Proteus仿真和代码
  5. 关于ax+by+cz的最大不可表数
  6. [luogu4027] [NOI2007]货币兑换
  7. C++中placement new操作符(经典)
  8. 看完微软大神写的求平均值代码,我意识到自己还是 too young 了
  9. 深入理解程序执行原理
  10. 你不知道的 IDEA Debug 调试小技巧!