題目
二進制鏈表轉(zhuǎn)整數(shù) leetcode 1290
給你一個單鏈表的引用結(jié)點 head丹弱。鏈表中每個結(jié)點的值不是 0 就是 1。已知此鏈表是一個整數(shù)數(shù)字的二進制表示形式蜓洪。
請你返回該鏈表所表示數(shù)字的 十進制值 隆檀。
比如鏈表為1->0->1粹湃,輸出應(yīng)為5,即二進制101對應(yīng)5.
思路
循環(huán)獲取鏈表結(jié)點的值裳仆,當(dāng)前結(jié)點左移一位加上下一位結(jié)點的值歧斟,最后獲得就是數(shù)字的二進制數(shù)偏形。
c++代碼
int getDecimalValue(ListNode* head) {
int result = 0;
while(head != NULL)
{
result = (result<<1)+head->val;
head = head->next;
}
return result;
}