【LeetCode每日一题】——1290.二进制链表转整数

news2024/11/23 8:11:57

文章目录

  • 一【题目类别】
  • 二【题目难度】
  • 三【题目编号】
  • 四【题目描述】
  • 五【题目示例】
  • 六【解题思路】
  • 七【题目提示】
  • 八【时间频度】
  • 九【代码实现】
  • 十【提交结果】

一【题目类别】

  • 链表

二【题目难度】

  • 简单

三【题目编号】

  • 1290.二进制链表转整数

四【题目描述】

  • 给你一个单链表的引用结点 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

六【解题思路】

  • 如果学过计算机组成原理,那么这道题就没有难度,正常模拟就可以,其实就是一个反推的过程
  • 我们按照题目示例1(1->0->1)来举例
5 / 2 = 21
2 / 2 = 10
1 / 2 = 01
得到二进制数101,如果要得到原始十进制数,只需要反推即可:商 * 2(除数) + 余数:
0 * 2 + 1 = 1
1 * 2 + 0 = 2
2 * 2 + 1 = 5
这样就可以得到二进制数对应的十进制数
  • 按照以上过程操作就可以得到结果
  • 最后返回结果即可

七【题目提示】

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

八【时间频度】

  • 时间复杂度: O ( n ) O(n) O(n),其中 n n n为链表的长度
  • 空间复杂度: O ( 1 ) O(1) O(1)

九【代码实现】

  1. Java语言版
package LinkedList;

/**
 * @Author: IronmanJay
 * @Description: 1290.二进制链表转整数
 * @CreateTime: 2022-12-06  13:10
 */
public class p1290_ConvertBinaryNumberInALinkedListToInteger {

    int val;
    p1290_ConvertBinaryNumberInALinkedListToInteger next;

    public p1290_ConvertBinaryNumberInALinkedListToInteger(int val) {
        this.val = val;
    }

    public p1290_ConvertBinaryNumberInALinkedListToInteger(int val, p1290_ConvertBinaryNumberInALinkedListToInteger next) {
        this.val = val;
        this.next = next;
    }

    public static void main(String[] args) {
        p1290_ConvertBinaryNumberInALinkedListToInteger node1 = new p1290_ConvertBinaryNumberInALinkedListToInteger(1);
        p1290_ConvertBinaryNumberInALinkedListToInteger node2 = new p1290_ConvertBinaryNumberInALinkedListToInteger(0);
        p1290_ConvertBinaryNumberInALinkedListToInteger node3 = new p1290_ConvertBinaryNumberInALinkedListToInteger(1);
        node1.next = node2;
        node2.next = node3;
        int res = getDecimalValue(node1);
        System.out.println("res = " + res);
    }

    public static int getDecimalValue(p1290_ConvertBinaryNumberInALinkedListToInteger head) {
        p1290_ConvertBinaryNumberInALinkedListToInteger p = head;
        int res = 0;
        while (p != null) {
            res = res * 2 + p.val;
            p = p.next;
        }
        return res;
    }

}
  1. C语言版
#include<stdio.h>

struct ListNode
{
	int val;
	struct ListNode *next;
};

int getDecimalValue(struct ListNode* head)
{
	struct ListNode* p = head;
	int res = 0;
	while (p != NULL)
	{
		res = res * 2 + p->val;
		p = p->next;
	}
	return res;
}

/*主函数省略*/

十【提交结果】

  1. Java语言版
    在这里插入图片描述

  2. C语言版
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/65873.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python时间模块之time模块

在项目开发中做功能经常会用到关于时间的操作。比如会员过期的定时任务&#xff0c;一些代码的延迟执行。今天介绍时间模块中的time模块。 目录 1.表示时间的方式&#xff1a; 2.格式化时间中字符的含义&#xff1a; 3.函数转换关系 4.函数介绍及应用 time() localtime() …

10Gb每秒!SM4的单核“心”!海泰携手海量数据安全“闪”护

引言 密码技术是保护网络与信息系统安全的核心技术&#xff0c;已经广泛应用到金融、能源、通信、交通、水利等各行各业&#xff0c;为国家安全和经济发展发挥重要作用。商用密码应用安全性评估&#xff08;简称密评&#xff09;&#xff0c;是指在釆用商用密码技术、产品和服务…

[附源码]计算机毕业设计汽车租赁管理系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

【numpy简介、入门、数组创建】

&#x1f935;‍♂️ 个人主页老虎也淘气 个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f44d;&#x1f3fb; 收藏…

基于jsp+mysql+ssm学生网上请假系统-计算机毕业设计

项目介绍 随着高校招生规模的逐步扩大和教学方式的改革&#xff0c;在校学生人数将不断增加。另一方面&#xff0c;我国高等学校基层学生考核工作的内容杂&#xff0c;管理细&#xff0c;要求高&#xff0c;头绪多&#xff0c;传统的手工档案式管理办法已基本不适应新形势的要…

[附源码]JAVA毕业设计社区管理与服务(系统+LW)

[附源码]JAVA毕业设计社区管理与服务&#xff08;系统LW&#xff09; 项目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&a…

XX集团BIM项目解决方案

目 录 一、BIM发展现状 二、集团BIM建设总体规划&#xff08;建议&#xff09; 1、BIM实施目标 2、BIM实施的范围 3、BIM实施原则 4、集团BIM项目组织架构 4.1职能分配 4.2建模组织形式 4.3人员匹配建议 5、集团BIM应用功能架构 5.1 BIM平台对集团管理层面的价值 5…

原来Python自带了数据库,用起来真方便

Python作为数据科学主流语言&#xff0c;被广泛用于数据读存、处理、分析、建模&#xff0c;可以说是无所不能。 数据一般存放在本地文件或者数据库里&#xff0c;之前介绍过如何使用python读取本地文件&#xff0c;也对# PyMySQL、cx_Oracle等数据库连接库做过简单的使用分享…

乾元通多卡聚合通信设备应急指挥车视频图传解决方案

行业现状 1) 不稳定&#xff1a;单一通信链路受运营商网络覆盖影响&#xff0c;不同区域信号强度不一样&#xff0c;无法实现。 2) 网速慢&#xff1a;受基站信号质量及拥塞影响&#xff0c;单路网速较差&#xff0c;高清视频监控等由于网络带宽不够&#xff0c;只能以低画质…

基于jsp+ssm的新生入学报道系统-计算机毕业设计

项目介绍 众多高校为了响应国家的号召&#xff0c;很多管理办法都落实到科学管理&#xff0c;通过计算机来实现对学校的具体管理办法当中&#xff0c;不仅仅促进了学校里计算机系统管理的发展&#xff0c;同时一定程度上加大了对学校的管理力度&#xff0c;数据量的不断增加&a…

Java常问面试题概要答案

文章目录1.JDK、JRE、JVM的区别2.hashcode()与equals()之间的关系3.String、StringBuffer、StringBuilder的区别4.Java泛型5.ArrayList和LinkedList区别6.ConcurrentHashMap7. B树和B树8.负载均衡常见策略1.JDK、JRE、JVM的区别 JDK&#xff1a;java标准开发包&#xff0c;包含…

【安全测试】渗透测试神器BurpSuite环境搭建

工欲善其事&#xff0c;必先利其器&#xff0c;要想更好的进行安全测试&#xff0c;就需要有一个趁手的工具&#xff0c;BurpSuite就是一个不错的选择&#xff0c;是广大安全测试工程师的必备工具&#xff0c;今天就带着大家把这个工具给装上&#xff0c;开启大家的安全测试之旅…

数据结构与算法基础-学习-06-线性表之创建循环链表、创建尾指针循环链表、两个尾指针循环链表连接

一、测试环境 名称值cpu12th Gen Intel Core™ i7-12700H操作系统CentOS Linux release 7.9.2009 (Core)内存3G逻辑核数2gcc 版本4.8.5 20150623 二、个人理解 1、循环链表优点 无论指针指向哪个节点&#xff0c;都可以访问任何一个其他节点。 2、尾指针循环链表优点 同上…

实现端口扫描

实现原理 tcp扫描 创建tcp客户端然后与目标地址的每个端口建立连接&#xff0c;如果能连接成功说明目标地址此端口已经被打开。 判断是什么协议 连接成功后读取字节&#xff0c;如ssh协议的端口会读取到如这种的数据SSH-2.0-OpenSSH_7.4;创建http/s客户端与已经扫描出来的端…

LINUX漏洞复现篇之ShellShock漏洞

简介 ShellShock漏洞, 中文称为"破壳漏洞", 是Unix Shell中的安全漏洞 在一些网络服务器的部署中, 使用bash来处理某些请求, 允许攻击者通过低版本的bash执行任意Shell命令 此漏洞在调用BashShell之前使用payload创建环境变量, 这些环境变量包含Shell代码, 在Shel…

家庭生活开支如何记录,怎么记账一目了然

家庭日常开支明细怎么记账一目了然呢&#xff1f;很多上了年龄的人比较擅长使用传统的方法纸笔记录家庭账目&#xff0c;可是统计起来就比较麻烦&#xff1b;而年轻人则比较跟随时代潮流&#xff0c;喜欢使用一些电子记账工具&#xff0c;比如借助电脑手机上的记账类软件来记录…

5个实用的性能测试工具(软件测试工程师必备)

在日常的软件测试工作中&#xff0c;最常用的性能测试工具是LoadRunner和Jmeter。今天给大家整理了5个针对web应用程序性能和负载压力能力的最广泛使用的性能测试工具。 这几个负载测试工具将确保应用程序在高峰流量和极端压力条件下的性能。 包括开源和授权的性能测试工具。…

国内食用油行业数据浅析

大家好&#xff0c;这里是小安说网控。 食用油是生活必备品之一&#xff0c;其中植物油占消费主导地位。 据国家统计局数据&#xff0c;2022年10月份国内精制食用植物油产量当期值为428.6万吨&#xff0c;同比下降0.8%&#xff1b;1-10月份精制食用植物油累计产量3925.2万吨&am…

Whitelabel Error Page

直接上图&#xff0c;就这个该死的错误&#xff01;&#xff01; 控制台报错&#xff1a;No mapping for GET /front/page/login.html 首先这个错误就是请求路径问题&#xff0c;或者根本没加载上html。 原因&#xff1a;springboot中&#xff0c;静态资源默认访问static和te…

现在的程序员真是越来越懒了,api 文档都懒得写!程序员:“api工具惯的”

为了让大家更能清楚了解 Api 相关往期内容&#xff0c;我写了一个阅读指引&#xff1a; 序号学习路径指引链接1Api -- 连接世界的 Super StarApi -- 连接世界的Super Star_不吃西红柿丶的博客-CSDN博客2软件吞噬世界&#xff0c;Api 快速入门到放弃软件吞噬世界&#xff0c;Ap…