将二进制从链表转换为整数

问题描述 投票:0回答:1

我正在解决一个将链表中的二进制数转换为整数的问题。当我尝试 console.log 时,我得到“未定义”。有什么想法吗?

我对 JavaScript 还很陌生。我想我一直试图将链表中的元素存储到数组中。看起来它们已存储,但值是“未定义”。

var getDecimalValue = function(head) {
    let binaryLength = 0;
    let arr = [];
    let index = 0;
    //let result = 0;

    while (head !== null) { 
        binaryLength++;
        arr[index++] = head.data;
        head = head.next; 
    }

    console.log(binaryLength);
    console.log(arr);
}

这会注销为:

3
[ undefined, undefined, undefined ]

我期待它注销为:

3
[ 1, 0, 1 ]

此后,我计划迭代数组并使用

Math.pow()
计算结果。我应该以不同的方式处理这个问题吗?我将非常感谢您的帮助。

这个问题来自leetcode这里

javascript arrays binary singly-linked-list
1个回答
0
投票

在尝试将链接列表元素存储到数组中时,您似乎面临着获取“未定义”值的问题。确保链表节点中的属性名称正确;在 JavaScript 中它通常被命名为“val”而不是“data”。一旦解决了这个问题,将二进制文件转换为数组并使用

Math.pow()
的方法似乎就可以了。正确存储值后,迭代数组以计算小数结果。仔细检查链表节点结构,你应该走对了!

© www.soinside.com 2019 - 2024. All rights reserved.