如何将链表数据转换为数字?

时间:2016-02-08 23:25:28

标签: java oop linked-list palindrome data-conversion

我对链表有疑问。每个对象都有两个变量:指向下一个对象的指针和它自己的值。 问题的关键是检查数字是否为回文数。我试图将数字(按给定顺序)转换为N变量以进行反向检查但是到目前为止我已经失败了,要么使用long \ int变量,要么使用小数点(。)和第一位数后的Exx输入,如果使用double。

这是我目前的代码:

public class driver

{    // Driver program

        public static void main(String args[])
        {
        int count=12;
        double number=0;
        double x=1;
        while(count>0)
        {
            number=number+x*(Math.pow(10,count));
            System.out.println(number);
            count--;
            if(x<10)
                x++;
            else x=1;
        }
        System.out.println(num);
    }

我认为除了POW之外,还有一种更简单的方法来构建数字吗?

您的帮助(以及关于回文问题和链接列表的任何未来想法)将不胜感激。

1 个答案:

答案 0 :(得分:0)

将元素复制到堆栈,然后将列表中的元素与堆栈中的元素进行比较。伪代码:

node = list.head;
while (node != null) {
    stack.push(node.value);
    node = node.next;
}
node = list.head;
boolean palindrome = true;
while (node != null) {
    if (stack.pop != node.value) {
        palindrome = false;
        break;
    }
}
if (palindrome) {
    print "palindrome"
} else {
    print "not a palindrome"
}