Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >leetCode166|二进制链表整数

leetCode166|二进制链表整数

作者头像
码农王同学
发布于 2021-01-15 03:04:24
发布于 2021-01-15 03:04:24
29700
代码可运行
举报
文章被收录于专栏:后端Coder后端Coder
运行总次数:0
代码可运行

一,二进制链表转整数

1,问题简述

给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。

请你返回该链表所表示数字的 十进制值 。

2,示例描述

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
示例 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
 

提示:

链表不为空。
链表的结点总数不超过 30。
每个结点的值不是 0 就是 1

3,题解思路

循环遍历链表的数据结点,然后进行计算

4,题解程序

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

public  class GetDecimalValueTest {
    public static void main(String[] args) {
        ListNode l1=new ListNode(1);
        ListNode l2=new ListNode(0);
        ListNode l3=new ListNode(1);
        l1.next=l2;
        l2.next=l3;
        int decimalValue = getDecimalValue(l1);
        System.out.println("decimalValue = " + decimalValue);

    }

    public static  int getDecimalValue(ListNode head) {
        if (head == null) {
            return 0;
        }
        int total = 0;
        while (head != null) {
            total = total * 2 + head.val;
            head = head.next;
        }
        return total;
    }
}

5,总结一下

单链表的数据遍历就是循环遍历,直到元素为空,其实就是迭代的思想使用

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农王同学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
脚撕LeetCode(1290)Easy
题目地址:https://leetcode-cn.com/problems/convert-binary-number-in-a-linked-list-to-integer/
JathonKatu
2022/01/18
1900
LeetCode1290 二进制链表转整数C++解法(vector实现)
给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。
莫浅子
2022/11/18
2780
LeetCode1290 二进制链表转整数C++解法(vector实现)
LeetCode155|移除链表元素
一个是基于哨兵节点的方式进行解决,另一个是基于java集合的方式来做,本质上还是一样的
码农王同学
2021/01/15
2760
剑指Offer LeetCode 面试题18. 删除链表的节点
输入: head = [4,5,1,9], val = 5 输出: [4,1,9] 解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9. 示例 2:
手撕代码八百里
2020/07/28
3310
剑指Offer LeetCode 面试题06. 从尾到头打印链表
面试题06. 从尾到头打印链表 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 解题 利用Stack栈先进后出的特征 import java.util.Arrays; import java.util.Stack; class Solution { static public int[] reversePrint(ListNode head) { Stack<Integer>
手撕代码八百里
2020/07/28
3410
leetcode刷题(77)—— 148. 排序链表
示例 2: 输入: -1->5->3->4->0 输出: -1->0->3->4->5
老马的编程之旅
2022/06/22
1780
LeetCode26|回文链表
这道题的解法虽然解法比较简单,但是耗时多,这里就不多说了,不过也通过了题目的测试用例,不知道后面有没有时间来做一下这个题的优化,目前这样的题都是采用很常规的思路来解的,如同功能需求一样,功能先做出来,优化可以放在后面功能做完再去优化,这也是自己的一点思考,后面自己确实要看下这方面的思路是否可以达到稍微优化
码农王同学
2020/08/25
2310
LeetCode26|回文链表
LeetCode77|排序链表
有的时候自己写完整道题之后,确实不知道给你们说什么了,我觉得目前我输出的内容都是常规思路题,所以你懂吧,看懂代码的可以自己单独写写就可以了,具体的解题思路真的不知道怎么描述了。
码农王同学
2020/10/14
2700
leetCode160|链表中倒数第k个节点
输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。
码农王同学
2021/01/15
2340
LeetCode122|删除排序链表中的重复元素II
给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。
码农王同学
2020/10/27
3090
LeetCode25:K个一组翻转链表
  给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。
别团等shy哥发育
2023/02/25
1710
LeetCode25:K个一组翻转链表
剑指Offer LeetCode 面试题24. 反转链表
面试题24. 反转链表 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
手撕代码八百里
2020/07/28
2820
1290.二进制链表转整数
给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。
Michel_Rolle
2021/03/01
2.6K0
LeetCode 1290. 二进制链表转整数
给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。
freesan44
2021/09/03
4480
LeetCode 1290. 二进制链表转整数
Python|二进制链表转整数
给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。
算法与编程之美
2020/02/13
8510
【Leetcode -1290.二进制链表转整数 -剑指Offer 06.从尾到头打印链表】
题目:给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的十进制值 。
YoungMLet
2024/03/01
1090
LeetCode 1290. 二进制链表转整数
给你一个单链表的引用结点 head。 链表中每个结点的值不是 0 就是 1。 已知此链表是一个整数数字的二进制表示形式。
Michael阿明
2020/07/13
5000
LeetCode106|从尾到头打印链表
这是自己写的第106篇leetcode题解,纯java语言编写,基本上就会提供一种思路进行解决,写到这里,自己主要是为了将以往做过的内容进行了回顾,没有新增的内容,利用自己的时间将做过的内容都以文章的形式进行输出
码农王同学
2020/10/27
2530
搞定大厂算法面试之leetcode精讲15.链表
搞定大厂算法面试之leetcode精讲15.链表 视频讲解(高效学习):点击学习 目录: 1.开篇介绍 2.时间空间复杂度 3.动态规划 4.贪心 5.二分查找 6.深度优先&广度优先 7.双指针 8.滑动窗口 9.位运算 10.递归&分治 11剪枝&回溯 12.堆 13.单调栈 14.排序算法 15.链表 16.set&map 17.栈 18.队列 19.数组 20.字符串 21.树 22.字典树 23.并查集 24.其他类型题 链表操作如下图: 动画过大,点击查看 时间复杂度: prepend: O(1
全栈潇晨
2021/12/02
4450
一文学懂LeetCode链表系列
链表系列的阶梯思路在于指针,这个指针有可能是快慢指针,有可能是指向两个链表的指针。还有一点需要注意的是,借助dumpyNode哑节点保存head信息。
用户7447819
2021/07/23
2510
相关推荐
脚撕LeetCode(1290)Easy
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档