題目描述:
給你乙個單鏈表的引用結點 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。
方法1:
主要思路:
(1)直觀的想,就是儲存鍊錶中的1,及其對應的位置,方便後面直接使用移位操作;
(2)這裡使用vector儲存在遍歷鍊錶的過程中,出現1時的為位置,並儲存了最終的鍊錶的長度,既相當於數值的位數,這樣直接在後面,通過總的位數,把陣列中的位置作為 1 的移位的數量,累加的結果中即可;
/**
* definition for singly-linked list.
* struct listnode
* };
*/class
solution
head=head-
>next;
}int res=0;
//儲存結果
//將索引轉換為數值
for(
int& n:vec)
return res;}}
;
1290 二進位製煉表轉整數
鏈結 給你乙個單鏈表的引用結點 head。鍊錶中每個結點的值不是 0 就是 1。已知此煉表是乙個整數數字的二進位制表示形式。請你返回該鍊錶所表示數字的 十進位制值 示例1 輸入 head 1,0,1 輸出 5 解釋 二進位制數 101 轉化為十進位制數 5 示例2 輸入 head 0 輸出 0示例3...
1290 二進位製煉表轉整數
給你乙個單鏈表的引用結點 head。鍊錶中每個結點的值不是 0 就是 1。已知此煉表是乙個整數數字的二進位制表示形式。請你返回該鍊錶所表示數字的 十進位制值 輸入 head 1,0,1 輸出 5 解釋 二進位制數 101 轉化為十進位制數 5 示例 2 輸入 head 0 輸出 0 示例 3 輸入 ...
1290 二進位製煉表轉整數
題目描述 給你乙個單鏈表的引用結點 head。鍊錶中每個結點的值不是 0 就是 1。已知此煉表是乙個整數數字的二進位制表示形式。請你返回該鍊錶所表示數字的 十進位制值 示例 1 輸入 head 1,0,1 輸出 5 解釋 二進位制數 101 轉化為十進位制數 5 示例 2 輸入 head 0 輸出 ...