zoukankan      html  css  js  c++  java
  • 两数相加

    /*MARK:

     *给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。

     

     如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。

     

     您可以假设除了数字 0 之外,这两个数都不会以 0 开头。

     

     示例:

     

     输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)

     输出:7 -> 0 -> 8

     原因:342 + 465 = 807

     

     来源:力扣(LeetCode)

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

     著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

     */

     

    //Definition for singly-linked list.
      public class ListNode {
          public var val: Int
          public var next: ListNode?
          public init(_ val: Int) {
              self.val = val
              self.next = nil
          }
      }
     
    class Solution {
        func addTwoNumbers(_ l1: ListNode?, _ l2: ListNode?) -> ListNode? {
            guard let l11 = l1, let l21 = l2 else{return nil}
            var carray : Int = 0
            var resultNode : ListNode? = nil
            //循环用
            var node : ListNode? = nil
            var l1next : ListNode? = l11
            var l2next : ListNode? = l21
            while(l1next != nil || l2next != nil || carray > 0){
                let l1var = l1next?.val ?? 0
                let l2var = l2next?.val ?? 0
                var sum = l2var + l1var  + carray
                carray = sum > 9 ? 1 : 0
                if sum > 9{
                    sum = sum % 10
                }
                if resultNode == nil{
                    resultNode = ListNode(sum)
                    node = resultNode
                }else{
                    node?.next = ListNode(sum)
                    node = node?.next
                }
                l1next = l1next?.next
                l2next = l2next?.next
                
               
    
            }
            return resultNode
        }
    }
    

      

  • 相关阅读:
    Parameter Binding in ASP.NET Web API
    Which HTTP methods match up to which CRUD methods?
    ErrorHandling in asp.net web api
    HttpStatusCode
    Autofac Getting Started(默认的构造函数注入)
    Autofac Controlling Scope and Lifetime
    luvit 被忽视的lua 高性能框架(仿nodejs)
    undefined与null的区别
    VsCode中使用Emmet神器快速编写HTML代码
    字符串匹配---KMP算法
  • 原文地址:https://www.cnblogs.com/KingQiangzi/p/13023987.html
Copyright © 2011-2022 走看看