package LeetCode_1290 /** * 1290. Convert Binary Number in a Linked List to Integer * https://leetcode.com/problems/convert-binary-number-in-a-linked-list-to-integer/description/ * */ class ListNode(var `val`: Int) { var next: ListNode? = null } class Solution { fun getDecimalValue(head_: ListNode?): Int { var result = 0 var len = 0.0 var node = head_ var head = head_ while (node != null) { len++ node = node.next } len-- //binary to decimal by math formula: (base two) 101 = 1*2^2 + 0*2^1 + 1*2^0 while (head != null) { result += head.`val` * Math.pow(2.0, len--).toInt() head = head.next } return result } }