首页 > 其他 > 详细

#1209二进制链表转整数

时间:2021-05-28 09:29:56      阅读:11      评论:0      收藏:0      [点我收藏+]

正常(暴力)思路:

  链表逆置再一个一个拿,如下:

    

 if(head == NULL) {
         return head;
     }
    struct ListNode*p=head;
    struct ListNode*z;
    z=(struct ListNode*)malloc(sizeof(struct ListNode));
    z->next=NULL;
    int i=1;
    while(p){
        struct ListNode*node;
        node=(struct ListNode*)malloc(sizeof(struct ListNode));
        node->val=p->val;
        node->next=z->next;
        z->next=node;
        p=p->next;
    }
    int result=0;
    struct ListNode*q=z->next;
    while(q){
        result=result+q->val*i;
        i=i*2;
        q=q->next;
    }
    return result;
简单思路:如力扣
 struct ListNode*p=head;
     int i=0;
     while(p!=NULL){
         i=i*2+p->val;
         p=p->next;
      }
     return i

#1209二进制链表转整数

原文:https://www.cnblogs.com/AEUG/p/14820340.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!