給你乙個單鏈表的引用結點 head。鍊錶中每個結點的值不是 0 就是 1。已知此煉表是乙個整數數字的二進位制表示形式。
請你返回該鍊錶所表示數字的 十進位制值 。
示例 1:
輸入:head = [1,0,1]
輸出:5
解釋:二進位制數 (101) 轉化為十進位制數 (5)
示例 2:
輸入:head = [0]
輸出:0
示例 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。
首先看到這道題會想不知道鍊錶的節點個數,因此會想到建立乙個列表,將節點的值先存進去,然後再對列表進行操作,求得最終值。
/**
* definition for singly-linked list.
* public class listnode
* }*/class
solution
int result =0;
int count=list.
size()
-1;for
(int i=
0;isize()
;i++
)return result;
}}
用時:1ms,記憶體37.4 mb。
其實這道題仔細思考一下就會發現並不需要額外建立列表來儲存節點的值,我們只需要想到位運算的知識,那麼就應該會想到利用位移運算的方法,就可以實現2進製到十進位制的轉換。
class
solution
return result;
}}
用時:0ms,記憶體37.6mb。 LeetCode 1290 二進位製煉表轉十進位制
給你乙個單鏈表的引用結點 head。鍊錶中每個結點的值不是 0 就是 1。已知此煉表是乙個整數數字的二進位制表示形式。請你返回該鍊錶所表示數字的 十進位制值 示例 1 輸入 head 1,0,1 輸出 5 解釋 二進位制數 101 轉化為十進位制數 5 示例 2 輸入 head 0 輸出 0 示例 ...
LeetCode 1290 二進位製煉表轉整數
題目描述 給你乙個單鏈表的引用結點 head。鍊錶中每個結點的值不是 0 就是 1。已知此煉表是乙個整數數字的二進位制表示形式。請你返回該鍊錶所表示數字的 十進位制值 輸入 head 1,0,1 head 0 head 1 輸出 50 1題意 題目描述 題解 先全部算出來,然後算就好了 defini...
二進位制 leetcode
5 toc 給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。class solution return result 給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現了三次。找出那個只出現了一次的元素。思路 某一位上1出現的次...