1290. Convert Binary Number in a Linked List to Integer
Last updated
Last updated
// 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;
}
}/**
* Time complexity : O(N)
* Space complexity : O(1)
*/
class Solution {
public int getDecimalValue(ListNode head) {
if(head == null) return 0;
int result = 0;
ListNode curr = head;
while(curr != null) {
result = (result*2) + curr.val;
curr = curr.next;
}
return result;
}
}/**
* Time complexity : O(N)
* Space complexity : O(1)
*/
class Solution {
public int getDecimalValue(ListNode head) {
int num = head.val;
while (head.next != null) {
num = (num << 1) | head.next.val;
head = head.next;
}
return num;
}
}