- 二进制链表转整数 public int getDecimalValue(ListNode head) {
用链表转为整数,每个节点存储的是一个数字,按顺序为整数的最高位到最低位
二进制转十进制就是 从后往前数 每一位*2的n的次方 然后全部加起来
- 定义指针curr指向head
- 定义输出result
- 只要curr所指不为空
- result就等于 原来的result*2 + 刚取到的curr所指的节点的值
- 让curr后移一个
- curr所指为空 结束循环
- 返回result
public int getDecimalValue(ListNode head) {
ListNode curr = head;
int result = 0;
while(curr != null){
result = result*2 + curr.val;//
curr = curr.next;
}
return result;
}