給你一個單鏈表的引用結點 head。鏈表中每一個結點的值不是 0 就是 1。已知此鏈表是一個整數數字的二進制表示形式。 html
請你返回該鏈表所表示數字的 十進制值 。數組
示例 1:網絡
輸入:head = [1,0,1]app
輸出:5ide
解釋:二進制數 (101) 轉化爲十進制數 (5)測試
示例 2:url
輸入:head = [0]spa
輸出:0.net
示例 3:指針
輸入:head = [1]
輸出:1
示例 4:
輸入:head = [1,0,0,1,0,0,1,1,1,0,0,0,0,0,0]
輸出:18880
示例 5:
輸入:head = [0,0]
輸出:0
提示:
鏈表不爲空。
鏈表的結點總數不超過 30。
每一個結點的值不是 0 就是 1。
來源:力扣(LeetCode)
連接:https://leetcode-cn.com/problems/convert-binary-number-in-a-linked-list-to-integer
著做權歸領釦網絡全部。商業轉載請聯繫官方受權,非商業轉載請註明出處。
head是單鏈表頭指針,經過循環頭指針能夠將數組元素最後拼接成一個二進制數。而後將該二進制數轉換成十進制數。
# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = None class Solution(object): def getDecimalValue(self, head): """ :type head: ListNode :rtype: int """ numlist = [] oct = 0 while head.next != None: numlist.append(head.val) head = head.next numlist.append(head.val) for i in range(len(numlist)-1,-1,-1): #print pow(2,i) oct += pow(2,i) * numlist[len(numlist)-i-1] return oct
各位大神,有其餘思路歡迎留言~
博主:測試生財
座右銘:專一測試與自動化,致力提升研發效能;經過測試精進完成原始積累,經過讀書理財奔向財務自由。
csdn:https://blog.csdn.net/ccgshigao