Krononberg

1290. Convert Binary Number in a Linked List to Integer.cpp 본문

개발 로그/알고리즘

1290. Convert Binary Number in a Linked List to Integer.cpp

k._. 2021. 9. 26. 14:42

링크드리스트 기초 중의 기초문제...

1년전에 당시 하루종일 머리싸매도 이해 안됐던 것....

다시보니 잘 풀리네... 기록남긴다..

 

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    int getDecimalValue(ListNode* head) {
        string x ="";
        while(head->next){
            x = x + to_string(head->val);
            head = head->next;
        }
        x = x + to_string(head->val);
        int mul =1;
        int res =0;
        
        for(int i = x.size()-1; i>=0;i--){
            res += ((x[i]-'0') * mul);
            mul*=2;
        }
        return res;
    }
};