
문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
단일 연결 리스트의 참조 노드인 head가 주어진다. 연결 리스트의 각 노드의 값은 0 또는 1이다. 연결 리스트는 숫자의 이진 표현이 저장되어 있다.
연결 리스트에 있는 십진수의 값을 반환해라.
가장 중요한 비트는 연결 리스트의 에드에 있다.
#1
Input: head = [1, 0, 1]
Output: 5
Explanation: 이진수 101은 십진수 5이다.
#2
Input: head = [0]
Output: 0
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public int getDecimalValue(ListNode head) {
int dNum = 0;
while(head != null){
dNum = (dNum << 1) | head.val;
head = head.next;
}
return dNum;
}
}