首页 > 其他分享 >LeetCode 1290[二进制链表转整数]

LeetCode 1290[二进制链表转整数]

时间:2024-11-19 14:39:52浏览次数:1  
标签:head ListNode val int next 链表 1290 LeetCode

题目

链接

LeetCode 1290[二进制链表转整数]

详情

实例

提示

题解

思路

遍历链表,获取链表的值添加到容器内

在容器内遍历值,由高位到地位遍历,为权重,然后算值

代码

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    int getDecimalValue(ListNode* head) {

        int iRet = 0;
        vector<int> vec;

        while (nullptr != head)
        {
           vec.push_back(head->val);//获取值
            head = head->next;//下一指针
        }

        size_t iSize = vec.size();

        for (int i = iSize - 1; i >= 0; i--)
            iRet += vec.at(i) * pow(2, iSize - 1 - i);

        return iRet;       
    }
};

标签:head,ListNode,val,int,next,链表,1290,LeetCode
From: https://www.cnblogs.com/EricsT/p/18554845

相关文章

  • leetcode 31. 下一个排列 中等
    leetcode31.下一个排列看了题解的思路,用自己看得懂的方式写的代码 classSolution{public:voidreverse(intleft,intright,vector<int>&nums){for(inti=left,j=right;i<j;i++,j--)swap(nums[i],nums[j]);}voidne......
  • 力扣刷题--027.回文链表
    想放弃吗?,那当初为什么要开始?题目描述给定一个链表的头节点head,请判断其是否为回文链表。如果一个链表是回文,那么链表节点序列从前往后看和从后往前看是相同的。示例1:输入:head=[1,2,3,3,2,1]输出:true示例2:输入:head=[1,2]输出:false思路分析如......
  • LeetCode 2769[找出最大的可达成数字]
    题目链接LeetCode2769[找出最大的可达成数字]详情实例提示题解思路每一步操作可同时操作num和x,可同时增加或者减少,若使num为最小值,每一步增加1个,同时x减少一个,则此时的x即为最大值num减少同时x增加,则操作t步后,num和x一样,即num+t=x-t,则x......
  • 代码随想录:移除链表元素
    代码随想录:移除链表元素简单的链表操作,注意C++中在访问一个实体结构体时,用.来进行元素访问ListNodehead;head.val=10;head.next=nullptr;在访问一个指针变量时,用→来进行元素访问,如在本题中,题目给的head是一个指针,所以所有的变量访问都用→/***Definitionforsing......
  • 代码随想录:设计链表
    代码随想录:设计链表这题遇到的问题是,在private中声明后,在构造函数中初始化的时候又声明了一次,大类的构造函数和结构体的构造函数弄晕掉了。另外虚头节点是真好用,以后记得用。一开始写成了这样:classMyLinkedList{public:structLinkNode{intvalue;......
  • 代码随想录算法训练营第七天(LeetCode454.四数相加Ⅱ;LeetCode383.赎金信;LeetCode15.三
    LeetCode454.四数相加Ⅱ题目链接:四数相加Ⅱ题目链接思路这道题目给定我们四个数组,让我们判断从四个数组中分别取一个元素,然后将这四个元素相加,值为0的元组个数,所以我们可以模仿两数之和,因为四个数组中分别取元素就是任意取,不需要考虑去重的问题,所以可以将四个数组转......
  • 代码随想录算法训练营第八天(LeetCode344.反转字符串;LeetCode541.反转字符串Ⅱ;卡码网54
    LeetCode344.反转字符串题目链接:反转字符串题目链接思路这道题目让我们进行字符串的反转,其实直接使用reverse相关的函数就可以解决问题。但是解决问题的时候,如果这道题目使用库函数就可以直接解决,就最好不要使用库函数;如果库函数只是题目中解法的一小步,那么就使用......
  • 代码随想录算法训练营第四天|LC24.两两交换链表中的节点|LC19. 删除链表的倒数第 N 个
    24.两两交换链表中的节点-力扣(LeetCode)    1、需要一个虚拟节点进行帮助;    2、注意虚拟节点的连接以及变化(尝试有点困惑它的变化,后面有点理解);    3、注意后续第二组的交换时如何与第一组交换进行连接;fromtypingimportOptionalclassLis......
  • leetcode面试题 17.17. 多次搜索
    给定一个较长字符串big和一个包含较短字符串的数组smalls,设计一个方法,根据smalls中的每一个较短字符串,对big进行搜索。输出smalls中的字符串在big里出现的所有位置positions,其中positions[i]为smalls[i]出现的所有位置。示例:输入:big="mississippi"smalls=["is","ppi",......
  • leetcode1963. 使字符串平衡的最小交换次数
    给你一个字符串 s ,下标从0开始 ,且长度为偶数 n 。字符串 恰好 由 n/2 个开括号 '[' 和 n/2 个闭括号 ']' 组成。只有能满足下述所有条件的字符串才能称为 平衡字符串 :字符串是一个空字符串,或者字符串可以记作 AB ,其中 A 和 B 都是 平衡字符串......