由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 150题的2.4,我自己写的是这样的,报NullPointerException
相关主题
Add two linked listPrint a binary tree in level order but starting from leaf node up to root
问一道动态内存分配用linked list的题目【CISCO】刚才重新回顾了一下那题
amazon onsite 面经delete a node in linked list
问一个careercup的题回馈本版,新鲜店面,新题新气象
path sum II OJ 超时热腾腾的 LinkedIn 电面题攒RP
Lowest common ancestor of two nodes of Binary Tree一道google面试题
phone interview program with a small startup请教个G题目
Twitter电面未通过初始化binary tree
相关话题的讨论汇总
话题: node话题: n2话题: null话题: n1
进入JobHunting版参与讨论
1 (共1页)
z*****5
发帖数: 1871
1
新手,为改变命运每天挑灯夜练,望指教,谢谢!
public static Node add(Node n1, Node n2) {
if (n1==null || n2==null) return null;

int carry = 0;
Node result = new Node(0);
Node p = result;

while (n1!=null || n2!=null) {
p.data = (n1==null ? n2.data : n2==null ? n1.data : (n1.data+n2.
data)%10) + carry; //此处报NullPointerException异常;
carry = p.data<10 ? 0 : 1;
n1 = n1.next;
n2 = n2.next;
p = p.next;
}
return result;
}
z****e
发帖数: 54598
2
问题出在.data上吧
Node初始化的时候会不会自动把data设置为0?
Node有几个构造器?
o****o
发帖数: 1398
3
第二次循环的时候p.data是null,中间没有为p.next分配内存
z*****5
发帖数: 1871
4
谢谢回复!
我在 p = p.next; 上面一行加了 p.next = new Node(0),分配了内存,把下一个节点
的data初始化为0;
这时候变成 n2 = n2.next 这行 跳出NullPointerException异常。
p*g
发帖数: 141
5
这一小段程序 还不少bug。。
1. : if (n1==null || n2==null) return null;
2. n1 = n1.next;
n2 = n2.next;
3. 在 p = p.next; 上面一行加了 p.next = new Node(0)
不加的话,到下一个循环p是null
加的话,如果不进入下一个循环, the returned value contains one extra
node at the end.
hehe
Interesting to read such a chunk of code.

n2.

【在 z*****5 的大作中提到】
: 新手,为改变命运每天挑灯夜练,望指教,谢谢!
: public static Node add(Node n1, Node n2) {
: if (n1==null || n2==null) return null;
:
: int carry = 0;
: Node result = new Node(0);
: Node p = result;
:
: while (n1!=null || n2!=null) {
: p.data = (n1==null ? n2.data : n2==null ? n1.data : (n1.data+n2.

g***j
发帖数: 1275
6
因为只生成了一个node, 所以第二次就错了。
循环里面需要每次生成一个node

n2.

【在 z*****5 的大作中提到】
: 新手,为改变命运每天挑灯夜练,望指教,谢谢!
: public static Node add(Node n1, Node n2) {
: if (n1==null || n2==null) return null;
:
: int carry = 0;
: Node result = new Node(0);
: Node p = result;
:
: while (n1!=null || n2!=null) {
: p.data = (n1==null ? n2.data : n2==null ? n1.data : (n1.data+n2.

g***j
发帖数: 1275
7
因为只生成了一个node, 所以第二次就错了。
循环里面需要每次生成一个node

n2.

【在 z*****5 的大作中提到】
: 新手,为改变命运每天挑灯夜练,望指教,谢谢!
: public static Node add(Node n1, Node n2) {
: if (n1==null || n2==null) return null;
:
: int carry = 0;
: Node result = new Node(0);
: Node p = result;
:
: while (n1!=null || n2!=null) {
: p.data = (n1==null ? n2.data : n2==null ? n1.data : (n1.data+n2.

z*****5
发帖数: 1871
8
您的1,2是什么意思?
上面已经update过了,分配过内存了,new了一个新节点,但之后变成n2=n2.next这行
出异常。

【在 p*g 的大作中提到】
: 这一小段程序 还不少bug。。
: 1. : if (n1==null || n2==null) return null;
: 2. n1 = n1.next;
: n2 = n2.next;
: 3. 在 p = p.next; 上面一行加了 p.next = new Node(0)
: 不加的话,到下一个循环p是null
: 加的话,如果不进入下一个循环, the returned value contains one extra
: node at the end.
: hehe
: Interesting to read such a chunk of code.

1 (共1页)
进入JobHunting版参与讨论
相关主题
初始化binary treepath sum II OJ 超时
问个C的基本问题Lowest common ancestor of two nodes of Binary Tree
这两个edit distance的codephone interview program with a small startup
google面试全过程(简装版)Twitter电面未通过
Add two linked listPrint a binary tree in level order but starting from leaf node up to root
问一道动态内存分配用linked list的题目【CISCO】刚才重新回顾了一下那题
amazon onsite 面经delete a node in linked list
问一个careercup的题回馈本版,新鲜店面,新题新气象
相关话题的讨论汇总
话题: node话题: n2话题: null话题: n1