golang 随机返回

/**

* Definition for singly-linked list.

* type ListNode struct {

* Val int

* Next *ListNode

* }

*/

// type Solution struct {

// }


 

// func Constructor(head *ListNode) Solution {

// }


 

// func (this *Solution) GetRandom() int {

// }


 

/**

* Your Solution object will be instantiated and called as such:

* obj := Constructor(head);

* param_1 := obj.GetRandom();

*/

type Solution struct {

vals []int

}

func Constructor(head *ListNode) Solution {

var solution Solution

for {

if head == nil {

break

}

solution.vals = append(solution.vals, head.Val)

head = head.Next

}

return solution

}

func (this *Solution) GetRandom() int {

//fmt.Println(this.vals)

//var loc int = -1

l := len(this.vals)

//fmt.Println(l)

//n := rand.Intn(l)

//fmt.Println(n)

//sum := 0

//for idx, num := range this.vals {

// sum += this.vals[num]

// if sum > n {

// loc = idx

// break

// }

//}

//return loc

return this.vals[rand.Intn(l)]

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值