1290 二進位製煉表轉整數

2021-10-08 22:26:34 字數 1130 閱讀 5273

題目描述:

給你乙個單鏈表的引用結點 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 輸出 ...