Leetcode 记录 不会解的题

记录我不解不出来的题

NO.1 奇偶链表

问题描述
在这里插入图片描述

链表基础

在这里插入图片描述
链表和数组的区别在于:链表没有索引,但是(1)链表可以很快找到下一块,(2)链表在内存中可以不连续保存

简单的链表元素顺序更换
在这里插入图片描述
目的是为了更换3,4. p0指向2,p1指向3.p3指向4.交换3,4的时候使用下面步骤:
1.p1.next指向5 ,
在这里插入图片描述
2. p2.next指向3在这里插入图片描述
3. p0的next指向4在这里插入图片描述

实战代码
# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def oddEvenList(self, head: ListNode) -> ListNode:

        f_p1 = None
        pointer1 = head
        pointer2 = head
        counter = 1

        if head == None or head.next == None:  # 特殊情况
            return head

        while pointer1.next != None:  # 找到最后就不找了
            f_p1 = pointer1
            pointer1 = pointer1.next
            counter += 1

            if counter % 2 == 1 and counter > 1:  # 开始移动
                f_p1.next = pointer1.next

                pointer1.next = pointer2.next
                pointer2.next = pointer1

                pointer2 = pointer2.next  # pointer2往后移动一格
                f_p1, pointer1 = pointer1, f_p1  # 顺序变了我们重新纠正过来。

            # 下面这段代码可以帮助查看所有的步骤过程。
            # str1 = ""
            # test = head
            # while test != None:
            #     str1 += "->" + str(test.val)
            #     test = test.next
            # print(str1, "|  f_p1:", f_p1.val, "|  p1:", pointer1.val, "|  p2:", pointer2.val, "|  counter:", counter)
        return head
NO.2 根据身高重建队列

在这里插入图片描述
解题思路
从低到高考虑:

  1. 将队列[i,j]以i第一关键升序,j为第二关键字降序排列。
  2. 初始化一个包含n个位置的空队列
  3. 第i个人的位置,是队列中从左往右数第j+1个位置

代码如下:


class Solution:
    def reconstructQueue(self, people):
        people.sort(key=lambda x: (x[0], -x[1]))
        print(people
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值