栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

手撕 leetcode 中难题 第一天

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

手撕 leetcode 中难题 第一天

我感觉我蠢的要死


  • 环境 vscode + leetcode 插件
  • 语言使用 Cplus

1.两数相加问题
  
 
 

class Solution {
public:
    ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
        //使用的10 进制数
        #define base 10
            ListNode* StartNode = nullptr;
            ListNode* EndNode = nullptr;
            ListNode* CurrentNode = nullptr;

            int l1_num = 0;
            int l2_num = 0;
            int carray = 0;
            int deal_real_num = 0;

            while( l1 || l2) //同时遍历两个链表
            {
                l1_num = l1? l1->val : 0;
                l2_num = l2? l2->val : 0;
                deal_real_num = l1_num + l2_num + carray;

                CurrentNode = new ListNode(deal_real_num%base);                         //这个数据为肯定会被插入的数据

                if(StartNode)
                    EndNode = StartNode = CurrentNode;                                  //得到可以遍历的头部节点
                else{
                   EndNode->next = CurrentNode;                                                      //将新有的数据,挂载上一个的后面 
                }

                // 如果大于 1 则需要重新开一个节点, 这个主要是会迭代到最后才可以生效,所以不需要考虑中间进位的问题
                // 只考虑最后会进一位的问题
                carray = deal_real_num / base;

                //移动指针 直到遍历结束 
                if(l1){
                    l1 = l1->next; 
                }

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

                EndNode = CurrentNode; //更新尾部指针的位置
            }

            if(carray > 0){
                CurrentNode = new ListNode(1); //新开辟一个作为最后一个的空间
                CurrentNode->next = EndNode; //再插入一个新的节点
            }

            return StartNode; // 返回头部的指针,用于遍历指针是否正确
    }
};

有个大神是使用递归解决的

总结一下:
1. 取模运算 如果 a%b 在 a< b 的情况下 永远 返回 a # 我是真的没想起来
2. 这个算法在实际的生产中可以用到,当然不是做加法运算,而是用到,两个数据链的合并,根据条件动态增加,协议解析,应该是没得问题
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/665173.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号