Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1290. 二进制链表转整数 #1

Open
yankewei opened this issue Feb 27, 2020 · 0 comments
Open

1290. 二进制链表转整数 #1

yankewei opened this issue Feb 27, 2020 · 0 comments
Labels
位运算 题目包含位运算解法 简单 题目难度为简单 链表 题目类型为链表

Comments

@yankewei
Copy link
Owner

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

提示:

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/convert-binary-number-in-a-linked-list-to-integer

/**
 * Definition for singly-linked list.
 * type ListNode struct {
 *     Val int
 *     Next *ListNode
 * }
 */
func getDecimalValue(head *ListNode) int {
    sum := 0
    for head != nil {
        sum = sum * 2 + head.Val
        head = head.Next
    }
    return sum
}
/**
 * Definition for singly-linked list.
 * type ListNode struct {
 *     Val int
 *     Next *ListNode
 * }
 */
func getDecimalValue(head *ListNode) int {
    if head == nil {
        return 0
    }
    var s []int
    for head != nil {
        s = append(s, head.Val)
        head = head.Next
    }
    n := len(s)
    length := len(s)
    sum := 0
    for n > 0 {
        if s[n - 1] == 1 {
            sum += int(math.Pow(2, float64(length - n)))
        }
        n--
    }
    return sum
}
@yankewei yankewei added 链表 题目类型为链表 位运算 题目包含位运算解法 简单 题目难度为简单 labels Feb 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
位运算 题目包含位运算解法 简单 题目难度为简单 链表 题目类型为链表
Projects
None yet
Development

No branches or pull requests

1 participant