Sunday, February 23, 2020

1290. Convert Binary Number in a Linked List to Integer (easy)

Q:
Given head which is a reference node to a singly-linked list. The value of each node in the linked list is either 0 or 1. The linked list holds the binary representation of a number.
Return the decimal value of the number in the linked list.

Example 1:
Input: head = [1,0,1]
Output: 5
Explanation: (101) in base 2 = (5) in base 10
Example 2:
Input: head = [0]
Output: 0
Example 3:
Input: head = [1]
Output: 1
Example 4:
Input: head = [1,0,0,1,0,0,1,1,1,0,0,0,0,0,0]
Output: 18880
Example 5:
Input: head = [0,0]
Output: 0

Constraints:
  • The Linked List is not empty.
  • Number of nodes will not exceed 30.
  • Each node's value is either 0 or 1.
A:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    int getDecimalValue(ListNode* head) {
        ListNode *runner = head;
        int res = 0;
        while(runner != NULL)
        {
            res = res*2 + runner->val;
            runner = runner->next;
        }
        return res;
    }
};



1 comment:

  1. Water Hack Burns 2lb of Fat OVERNIGHT

    Over 160k women and men are losing weight with a easy and SECRET "liquids hack" to lose 1-2 lbs every night in their sleep.

    It is effective and it works with everybody.

    Here's how to do it yourself:

    1) Hold a drinking glass and fill it with water half glass

    2) Then use this proven hack

    and become 1-2 lbs lighter as soon as tomorrow!

    ReplyDelete