题解 | #牛群的能量值#

牛群的能量值

https://www.nowcoder.com/practice/fc49a20f47ac431981ef17aee6bd7d15

解题思路

  1. 建立一个进位变量,一个新的链表;
  2. 当l1或l2或有进位的情况下进行循环:
  • 计算当前对应位数的和;
  • 更新进位变量,并为当前结果创建新的节点接入到新的链表中;
  • 移动l1和l2的指针。
  1. 返回结果。

代码

/**
 * struct ListNode {
 *	int val;
 *	struct ListNode *next;
 *	ListNode(int x) : val(x), next(nullptr) {}
 * };
 */
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param l1 ListNode类 
     * @param l2 ListNode类 
     * @return ListNode类
     */
    ListNode* addEnergyValues(ListNode* l1, ListNode* l2) {
        int flag = 0;
        ListNode* dummy = new ListNode(0);
        ListNode* cur = dummy;

        while(l1 || l2 || flag)
        {
            int tmp = (l1?l1->val:0)+(l2?l2->val:0)+flag;
            flag = tmp / 10;
            cur->next = new ListNode(tmp%10);
            cur = cur->next;

            if(l1)
            {
                l1 = l1->next;
            }
            if(l2)
            {
                l2 = l2->next;
            }
        }

        return dummy->next;
    }
};

复杂度

  • 时间复杂度:
  • 空间复杂度:
全部评论

相关推荐

05-07 13:29
已编辑
门头沟学院 Java
北斗导航Compass低仿版:能不能先搞清楚优先级啊,怎么可能是项目问题,项目很重要吗?又没学历 又没实习大厂凭啥约面?那玩具项目 没应用在真实生产环境下的 就算做上天又有什么用?早点找个小公司实习 拿小公司实习去投大厂实习,这才是你现在该做的
投递美团等公司9个岗位 简历被挂麻了,求建议
点赞 评论 收藏
分享
野猪不是猪🐗:我assume that你must技术aspect是solid的,temperament也挺good的,however面试不太serious,generally会feel style上不够sharp
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务