LeetCode篇之链表:1290-->二进制链表转整数

  • 1290. 二进制链表转整数
    • 题目:
    • 解题思路:
    • 源码:
    • 改进:
    • 踩坑点:

1290. 二进制链表转整数

题目:

解题思路:

1.先遍历一遍链表,求出链表长度
2.进行二进制和十进制的转化
3.算法优化:当遇到节点的值为0时直接跳过

源码:

int getDecimalValue(struct ListNode* head){struct ListNode *p = head;int len = 0;int result = 0;int An = 0;while(p != NULL){p = p->next;len ++;}p = head;while(p != NULL){An =  p->val * pow(2,len-1);result = result + An;p = p->next;len --;}return result;
}

改进:

//当遇到节点的值为0时直接跳过
int getDecimalValue(struct ListNode* head){struct ListNode *p = head;int len = 0;int result = 0;int An = 0;while(p != NULL){p = p->next;len ++;}p = head;while(p != NULL){if(p->val == 0){p = p->next;len --;}else{An =  p->val * pow(2,len-1);result = result + An;p = p->next;len --;}}return result;
}

踩坑点:

很简单,没想到有什么坑。但是这个算法很容易优化,见改进

LeetCode篇之链表:1290(二进制链表转整数)相关推荐

  1. LeetCode Algorithm 1290. 二进制链表转整数

    1290. 二进制链表转整数 Ideas 偷了个懒,首先用string类型的str把链表的所有元素都串起来,然后直接用stoi转成int类型,直接AC. Code C++ #include <s ...

  2. 1290. 二进制链表转整数

    2020-03-17 1.题目描述 二进制链表转整数 2.题解 乘2使用位操作 3.代码 #include <iostream> #include <algorithm> us ...

  3. LeetCode 1290. 二进制链表转整数

    1. 题目 给你一个单链表的引用结点 head. 链表中每个结点的值不是 0 就是 1. 已知此链表是一个整数数字的二进制表示形式. 请你返回该链表所表示数字的 十进制值 . 示例 1: 输入:hea ...

  4. leetcode —— 1290. 二进制链表转整数

    给你一个单链表的引用结点 head.链表中每个结点的值不是 0 就是 1.已知此链表是一个整数数字的二进制表示形式. 请你返回该链表所表示数字的 十进制值 . 示例 1: 输入:head = [1,0 ...

  5. LeetCode—1290.二进制链表转整数(Java)

    文章目录 1.题目: 2.代码实例 3.代码分析 1.题目: 给你一个单链表的引用结点 head.链表中每个结点的值不是 0 就是 1.已知此链表是一个整数数字的二进制表示形式. 请你返回该链表所表示 ...

  6. LeetCode 1290 二进制链表转整数

    原题链接 解题思路,二进制转十进制模拟法 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode ...

  7. LeetCode 21. 合并两个有序链表(链表)

    上一篇博客:LeetCode 20. 有效的括号(栈.字符串)  写在前面:大家好!我是ACfun,我的昵称来自两个单词Accepted和fun.我是一个热爱ACM的蒟蒻.最近萌生了刷LeetCode ...

  8. LeetCode 例题精讲 | 05 双指针×链表问题:快慢指针

    点击关注上方"五分钟学算法", 设为"置顶或星标",第一时间送达干货. 转自面向大象编程 本期例题: LeetCode 876 - Middle of the ...

  9. Leetcode 138. 复制带随机指针的链表 解题思路及C++实现

    解题思路: 主要包括三步. 第一步是遍历一次链表,复制其每一个节点,并将所复制的节点接在其后. 第二步是遍历一次链表,解决拷贝节点的random指针的指向. 第三步是从这个大链表中,拆出原有链表和拷贝 ...

最新文章

  1. Spring中启用Hibernate二级缓存步骤
  2. Android studio Merge 标签 显示错乱
  3. pip无法更新_TensorFlow 2.0「开发者预览版」上线,内容每日更新
  4. window.location.href如何多次请求_RabbitMQ如何保证幂等性?
  5. Maven工程的分类
  6. java冒险模组_求推荐几个冒险类的MOD
  7. java线程volatile_多线程与高并发(四)volatile关键字
  8. CSDN MarkDown编辑器的使用(原内容)
  9. php上拉下拉 数据库加载,jquery使用iscorll实现上拉、下拉加载刷新
  10. java中的 关键词vali_Java中的关键字volatile详解
  11. 批量一键删除QQ空间说说软件
  12. java获取小数位数_Java获取小数位数 | 学步园
  13. 桌面窗口管理器dwm.exe内存过高,intel核显内存泄漏问题(附核显升级链接)
  14. 【文字】文字消散效果
  15. 【永远的二八定律】☆【永远的二八定律】
  16. 在线扫描php后门_webshell后门扫描-PHP版
  17. 天宇,snapseed,第六课,静物人像
  18. [新手必读]论坛推广技巧
  19. 西部数码虚拟主机服务器配置,西部数码虚拟主机预装软件功能介绍
  20. HACK学习黑帽子Python--漏洞检测脚本快速编写

热门文章

  1. 【进阶篇】Vue Devtools——vue开发调试神器
  2. 湍流退化图像复原如何使用matlab,湍流退化图像复原技术研究现状及展望
  3. 人类基因组计划20周年!中科院付巧妹团队登Science特刊,从古DNA中一窥人类演化...
  4. html页面缓存meta,html中怎么用meta语句禁用页面缓存?
  5. api 二次 开发 禅道_二次开发
  6. 1.5 编程基础之循环控制 20 球弹跳高度的计算
  7. 利用python制作的可视化批量文件后缀处理工具
  8. 我身边的计算机网,电脑在我身边作文700字
  9. Python学习之快速入门
  10. Vue 安装 live-server