(LeetCode 每日一题) 1290. 二进制链表转整数 (链表+二进制)
题目:1290. 二进制链表转整数
思路:链表+二进制,时间复杂度0(n)。
C++版本:
/*** 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) {int s=0;while(head!=nullptr){s=s*2+head->val;head=head->next;}return s;}
};
JAVA版本:
/*** 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 s=0;while(head!=null){s=s*2+head.val;head=head.next;}return s;}
}
GO版本:
/*** Definition for singly-linked list.* type ListNode struct {* Val int* Next *ListNode* }*/
func getDecimalValue(head *ListNode) int {s:=0for head!=nil {s=s*2+head.Valhead=head.Next}return s
}