首页 > 编程语言 > 详细

经典算法面试题

时间:2020-04-25 12:58:12      阅读:52      评论:0      收藏:0      [点我收藏+]


面试题

  • 问题一:如何使用两个队列实现一个栈

    

技术分享图片
class Queue():
    def __init__(self):
        self.items = []

    def enqueue(self, item):
        self.items.insert(0, item)

    def dequeue(self):
        return self.items.pop()

    def size(self):
        return len(self.items)


li = [1, 2, 3, 4, 5]

‘‘‘因为两个队列,先实例化它们‘‘‘
q1 = Queue()
q2 = Queue()

for i in li:
    q1.enqueue(i)  # [5,4,3,2,1]-->insert(0,i)
    ‘‘‘先进先出‘‘‘
    # print(q1.dequeue())-->[1,2,3,4,5]

while q1.size() > 0:
    while q1.size() > 1:
        item = q1.dequeue()
        q2.enqueue(item)  # [1,2,3,4,5]
    print(q1.dequeue())  # [5,4,3,2,1]
    q1, q2 = q2, q1
View Code

 

  • 问题二:如何实现将单链表倒置

    

技术分享图片
class Node():
    def __init__(self,item):
        self.item = item
        self.next = None
class Link():
    def __init__(self):
        self.head = None

    def insert(self,item):
        node = Node(item)

        self.head = node.next
        if self.head == None:
            self.head =node
            return

        cur = self.head
        pre = None
        while cur:
            pre = cur
            cur = cur.next
        pre.next = node

    def travel(self):
        cur = self.head
        while cur:
            print(cur.item)
            cur = cur.next

    def remove(self,item):
        pre = None
        cur = self.head
        if cur.item == item :
            self.head = cur.next
            return
        while cur:
            pre = cur
            cur = cur.next
            if cur.item == item:
                pre.next = cur.next
                return


  ‘‘‘链表倒置操作‘‘‘
    def reverse(self):
        cur = self.head
        pre = None
        next_node = cur.next

        while cur:
            cur.next = pre
            pre = cur
            cur = next_node
            if cur:
                next_node = cur.next
            self.head = pre
View Code

 

其实算法题在:题库 - 力扣 (LeetCode) 全球极客挚爱的技术成长平台 

 

经典算法面试题

原文:https://www.cnblogs.com/cou1d/p/12704079.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!