zoukankan      html  css  js  c++  java
  • Add Two Numbers

    链接:https://oj.leetcode.com/problems/add-two-numbers/


    链表的大数加法


    /**
     * Definition for singly-linked list.
     * struct ListNode {
     *     int val;
     *     ListNode *next;
     *     ListNode(int x) : val(x), next(NULL) {}
     * };
     */
    class Solution
    {
    	public:
    		ListNode *addTwoNumbers(ListNode *l1,ListNode *l2)
    		{
    			ListNode *ans=new ListNode(0);
    			ListNode *pos=ans;
    			int tem=0;
    			int sign=0;
    			while(l1!=NULL&&l2!=NULL)
    			{
    				tem=l1->val+l2->val+sign;	
    				pos->next=new ListNode(tem%10);
    				sign=tem/10;
    				pos=pos->next;
    				if(l1->next==NULL&&l2->next==NULL&&sign!=0)
    				{
    					pos->next=new ListNode(sign);
    					return ans->next;
    
    				}
    				if((l1->next==NULL&&l2->next!=NULL)||(l1->next!=NULL&&l2->next==NULL))
    				{
    					if(l2->next!=NULL)
    						pos->next=l2->next;
    					else if(l1->next!=NULL)
    						pos->next=l1->next;
    					pos=pos->next;
    					if(sign!=0)
    					{
    						while(pos!=NULL&&sign!=0)
    						{
    							tem=(pos->val+sign);
    							pos->val=tem%10;
    							sign=tem/10;
    							if(pos->next==NULL&&sign!=0)	
    							{
    								pos->next=new ListNode(sign);
    								sign=0;
    							}
    							pos=pos->next;
    						}
    					}
    					return ans->next;
    				}
    				l1=l1->next;
    				l2=l2->next;
    			}
    			return ans->next;
    		}
    };


  • 相关阅读:
    CMD命令
    python函数
    steam更新出错 应用运行中
    更改steam的游戏库
    python 3.6 setup
    vim 安装
    绝地求生大逃杀,改配置
    回写盘写速度被限速为10M左右
    JAVA和C# 3DES加密解密
    DES/3DES/AES区别
  • 原文地址:https://www.cnblogs.com/frankM/p/4399436.html
Copyright © 2011-2022 走看看