复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。 请你返回该链表所表示数字的 十进制值 。 示例 1: 输入:head = [1,0,1] 输出:5 解释:二进制数 (101) 转化为十进制数 (5) 示例 2: 输入:head = [0] 输出:0 示例 3: 输入:head = [1] 输出:1 示例 4: 输入:head = [1,0,0,1,0,0,1,1,1,0,0,0,0,0,0] 输出:18880 示例 5: 输入:head = [0,0] 输出:0 //https://blog.csdn.net/qq_42512179/article/details/82458370 提示: 链表不为空。 链表的结点总数不超过 30。 每个结点的值不是 0 就是 1。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32class ListNode{ int val; ListNode next; ListNode(int x){ val=x; } } class Solution { public int getDecimalValue(ListNode head) { int count=0; while (head!=null){ count=count*2+head.val; head=head.next; } return count; } } public class Main { public static void main(String[] args) { // write your code here int a[]={1,0,0,1,0,0,1,1,1,0,0,0,0,0,0}; Solution solution=new Solution(); ListNode head=new ListNode(0); ListNode tail=head; for (int i = 0; i < a.length; i++) { ListNode node=new ListNode(a[i]); tail.next=node;//尾插法,不能用tail=node;tail.next=node;这样head就断了。 tail=node; } System.out.println(solution.getDecimalValue(head)); } }
最后
以上就是漂亮指甲油最近收集整理的关于LeetCode 1290 二进制链表转十进制的全部内容,更多相关LeetCode内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复