博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode 1472. Design Browser History [Python]
阅读量:4090 次
发布时间:2019-05-25

本文共 857 字,大约阅读时间需要 2 分钟。

使用双向节点

class Dlinknode:    def __init__(self, page):        self.page = page        self.next = self        self.prev = selfclass BrowserHistory:    def __init__(self, homepage: str):        self.root = Dlinknode(homepage)        self.cur = self.root            def visit(self, url: str) -> None:        newpage = Dlinknode(url)        self.cur.next = newpage        newpage.prev = self.cur        self.cur = newpage    def back(self, steps: int) -> str:        for i in range(steps):            self.cur = self.cur.prev        return self.cur.page    def forward(self, steps: int) -> str:        for i in range(steps):            self.cur = self.cur.next        return self.cur.page# Your BrowserHistory object will be instantiated and called as such:# obj = BrowserHistory(homepage)# obj.visit(url)# param_2 = obj.back(steps)# param_3 = obj.forward(steps)

 

转载地址:http://gijii.baihongyu.com/

你可能感兴趣的文章
XML工具代码:SAX从String字符串XML内获取指定节点或属性的值
查看>>
时间日期:获取两个日期相差几天
查看>>
责任链模式 Chain of Responsibility
查看>>
高并发与大数据解决方案概述
查看>>
解决SimpleDateFormat线程安全问题NumberFormatException: multiple points
查看>>
MySQL数据库存储引擎简介
查看>>
处理Maven本地仓库.lastUpdated文件
查看>>
Kafka | 请求是怎么被处理的?
查看>>
Java并发编程1-线程池
查看>>
CentOS7,玩转samba服务,基于身份验证的共享
查看>>
计算机网络-网络协议模型
查看>>
计算机网络-OSI各层概述
查看>>
Java--String/StringBuffer/StringBuilder区别
查看>>
mySQL--深入理解事务隔离级别
查看>>
分布式之redis复习精讲
查看>>
数据结构与算法7-栈
查看>>
线性数据结构学习笔记
查看>>
数据结构与算法14-跳表
查看>>
Java并发编程 | 一不小心就死锁了,怎么办?
查看>>
(python版)《剑指Offer》JZ01:二维数组中的查找
查看>>