Easy
Given head
which is a reference node to a singly-linked list. The value of each node in the linked list is either 0
or 1
. The linked list holds the binary representation of a number.
Return the decimal value of the number in the linked list.
Example 1:
Input: head = [1,0,1]
Output: 5
Explanation: (101) in base 2 = (5) in base 10
Example 2:
Input: head = [0]
Output: 0
Constraints:
30
.0
or 1
.import com_github_leetcode.ListNode
/*
* Example:
* var li = ListNode(5)
* var v = li.`val`
* Definition for singly-linked list.
* class ListNode(var `val`: Int) {
* var next: ListNode? = null
* }
*/
class Solution {
fun getDecimalValue(head: ListNode?): Int {
var l = 0
var curr = head
while (curr!!.next != null) {
l++
curr = curr.next
}
curr = head
var num = 0
while (curr != null) {
num += curr.`val` * Math.pow(2.0, l--.toDouble()).toInt()
curr = curr.next
}
return num
}
}