0104

type LinkNode struct {
    Val  int
    Next *LinkNode
}

func TwoNumAdd(head1, head2 *LinkNode) *LinkNode {
    newHead := &LinkNode{}
    cur := newHead
    add := 0
    for head1 != nil && head2 != nil {
        newVal := head1.Val + head2.Val + add
        add = newVal / 10
        cur.Next = &LinkNode{Val: newVal % 10}
        head1 = head1.Next
        head2 = head2.Next
        cur = cur.Next
    }
    if head1 != nil {
        cur = head1
    }
    if head2 != nil {
        cur = head2
    }
    return newHead
}
func sort(nums []int) {
    quickSort(nums, 0, len(nums)-1)
}
func quickSort(nums []int, low, high int) {
    if low >= high {
        return
    }
    pivot := partition(nums, low, high)
    quickSort(nums, low, pivot-1)
    quickSort(nums, pivot+1, high)

}
func partition(nums []int, low, high int) int {
    pivot, left, right := nums[low], low+1,low+1
    for right <= high {
        if nums[right] > pivot {
            right+=1
        }else{
            nums[left], nums[right] = nums[right], nums[left]
            left+=1
            right+=1
        }
    }
    nums[pivot], nums[left] = nums[left], nums[pivot]
    return left
}

1

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值