3、从头到尾打印链表
题目描述
输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
笔记:很简单问题,自己写出来,注意的是,此题是返回一个list,所以存的是链表的值,不用存储指针,不是翻转链表~
# -*- coding:utf-8 -*-
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
# 返回从尾部到头部的列表值序列,例如[1,2,3]
def printListFromTailToHead(self, listNode):
# write code here
res =[]
if not listNode:
return res
while listNode:
res.append(listNode.val)
listNode = listNode.next
return res[::-1]
4、用两个栈实现队列
题目描述
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
# -*- coding:utf-8 -*-
class Solution:
def __init__(self):
self.stack1 = []
self.stack2 = []
def push(self, node):
# write code here、
self.stack1.append(node)
def pop(self):
# return xx
if self.stack2 == []:
while self.stack1:
self.stack2.append(self.stack1.pop())
return self.stack2.pop()
return self.stack2.pop()