给你一个单链表的引用节点 head ,链表中每个节点的值不是 0 就是 1 .已知此链表是一个整数数字的二进制表示形式。
请你返回该链表所表示的数字的 十进制值
输入:head = [1,0,1]输出:5
这道题其实就是利用 二进制转十进制方法 ,比如十进制下的 321 首先是 3 ->(310+2) = 32 ->(3210+1) 321
也就是 pre*10+currentNumber 当然二进制把10换成2就行了。
/*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/int getDecimalValue(struct ListNode* head){int number = 0;struct ListNode *node = head;while (node) {number = number*2+node->val;node = node->next;}return number;}
