java - LinkedList 中的大负整数表示

标签 java list data-structures linked-list

我的 LinkedList 通过每个节点中都有一位数字来表示大数字。

我可以使用以下代码在 LinkedList 中表示正大整数:

public BigInteger(int x) 
{
    list = new LinkedList<Integer>();
    while (x > 0) 
    {
        list.push(( x % 10 ));
        x = x / 10;
    }
}

声明:

BigInteger bigPositive = new BigInteger(91234) 

产品:

 [9,1,2,3,4]

但是,我不知道如何表示大负整数,例如-9321312345

最佳答案

您可以将 1 或 0 推到列表的前面,表示它是正数还是负数。例如:

  • (15) 将映射到 [1 1 5]
  • (-13) 将映射到 [0 1 3]
  • (1) 将映射到 [1 1]

等等。您只需知道将第一个数字解释为符号 (+/-),而不是值的一部分。

关于java - LinkedList 中的大负整数表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24333115/

相关文章:

python - 列表索引必须是整数,而不是str错误

python - 将 '[a, b, c]' 形式的字符串转换为 python 中的列表,而不经过列表理解

java - 使用 setAutoCreateRowSorter(true) 时获取列排序顺序?

java - 给定空列表,然后添加 String (ArrayList 实现)

python - 如何在多个列表中查找相同的项目?

scala - 如何将案例类序列化为制表符分隔的文本文件?

c++ - 模式匹配算法

java - 假设您有 IClass 卡的 UID,则读取卡上的卡号

java - JMSListener 注释无法与 REST 服务一起使用

algorithm - 查找具有给定 Xor 的子集的数量