两个单链表的求和,将矩阵元素全部对换

def lengthNum(head):
    length = 0
    pt = head
    while pt:
        length += 1
        pt = pt.next

    return length


def computeSum(pt1, pt2, count):
    if pt1 == None or pt2 == None:
        return 0

    if count > 0:
        flag = computeSum(pt1.next, pt2, count - 1)
        result = pt1.val + flag
    else:
        flag = computeSum(pt1.next, pt2.next, 0)
        result = pt1.val + pt2.val + flag

    pt1.val = result % 10
    return result // 10


def sumOf2Num(head1, head2):
    if head1 == None:
        return head2

    if head2 == None:
        return head1

    length1 = lengthNum(head1)
    length2 = lengthNum(head2)

    if length1 < length2:
        head1, head2 = head2, head1
        length1, length2 = length2, length1

    pt1 = head1
    pt2 = head2

    flag = computeSum(pt1, pt2, length1 - length2)

    if flag == 0:
        return head1
    else:
        new_node = ListNode(1)
        new_node.next = head1
        return new_node
def rotate(matrix):
    cols = len(matrix)
    rows = len(matrix[0])
    
    for i in range(cols):
        for j in range(rows - 1, i - 1, -1):
            matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]
            
    for i in range(cols):
        matrix[i].reverse()
        
    return matrix

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值