leetcode1290-Convert Binary Number in a Linked List to Integer

题目

给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。
请你返回该链表所表示数字的 十进制值 。
示例 1:
输入:head = [1,0,1]
输出:5
解释:二进制数 (101) 转化为十进制数 (5)

分析

这道题目就遍历链表就可以实现,先确定每一位的位数,然后分别计算每一位二进制对应的十进制数累加即可

public class LinkNode {
	int val;
	LinkNode next;

	public LinkNode(int data) {
		this.val = data;
		this.next = null;
	}
}
public class LinkList {
	LinkNode head;
	public LinkList() {
		this.head = null;
	}
	public LinkNode getHead() {
		return this.head;
	}
	//添加元素
	public void addNode(int data) {
		LinkNode node = new LinkNode(data);
		if (this.head == null) {
			this.head = node;
		} else {
			LinkNode cur = this.head;
			while(cur.next != null) {
				cur = cur.next;
			}
			cur.next = node;
		}
	}
	//正序打印
	public void print(LinkNode node) {
		while(node != null) {
			System.out.print(node.val);
			System.out.print(" ");
			node = node.next;
		}
		System.out.println();
	}
	public int getData() {
		LinkNode pNode = this.head;
		int cnt = 0;
		while(pNode != null) {
			cnt++;
			pNode = pNode.next;
		}
		int res = 0;
		pNode = this.head;
		while(pNode != null) {
			int tmp = cnt-1;
			int data = 1;
			while(tmp > 0) {
				data = data * 2;
				tmp--;
			}
			res = res + pNode.val * data;
			pNode = pNode.next;
			cnt--;
		}
		System.out.println(res);
		return res;
	}
}
public class convertBinaryNumberinaLinkedListtoInteger {
	public static void main(String[] args) {
		LinkList list = new LinkList();
		list.addNode(1);
		list.addNode(0);
		list.addNode(1);
		list.getData();
	}
}

相关推荐

  1. LeetCode1590. Make Sum Divisible by P

    2024-05-12 09:54:09       34 阅读
  2. 区间DP,LeetCode 1690. 石子游戏 VII

    2024-05-12 09:54:09       30 阅读
  3. LeetCode每日一题 | 1690. 石子游戏 VII

    2024-05-12 09:54:09       29 阅读
  4. 笔试刷题(持续更新)| Leetcode 45,1190

    2024-05-12 09:54:09       36 阅读
  5. leetcode1290-Convert Binary Number in a Linked List to Integer

    2024-05-12 09:54:09       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-12 09:54:09       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-12 09:54:09       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-12 09:54:09       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-12 09:54:09       20 阅读

热门阅读

  1. Go有无缓冲channel的区别

    2024-05-12 09:54:09       9 阅读
  2. gin:01-框架安装

    2024-05-12 09:54:09       7 阅读
  3. Python中的多线程与多进程编程:深入解析与应用

    2024-05-12 09:54:09       11 阅读
  4. c语言之打开一个文件

    2024-05-12 09:54:09       8 阅读
  5. 00 深度学习 PyTorch框架介绍

    2024-05-12 09:54:09       10 阅读
  6. Spring如何解决循环依赖

    2024-05-12 09:54:09       10 阅读
  7. SD321放大器3V输入电流电压保护二极管25C电源电流

    2024-05-12 09:54:09       14 阅读
  8. react Hooks

    2024-05-12 09:54:09       10 阅读
  9. React Native vs Flutter:2023年移动开发框架对比

    2024-05-12 09:54:09       8 阅读
  10. React Native跨平台开发实战:从零到一

    2024-05-12 09:54:09       11 阅读
  11. 学习Vue3中reactive

    2024-05-12 09:54:09       13 阅读
  12. Docker在macbook搭建lnmp环境

    2024-05-12 09:54:09       14 阅读