当前位置: 首页 > news >正文

力扣1472. 设计浏览器历史记录

在这里插入图片描述
在这里插入图片描述
这一题是模拟浏览器纪录的过程,只需要在脑海中有这个场景的过程就很好写了。
而浏览器的前进和回退是用到栈的思想,所以我不假思索的选择了用栈来解决这个题。
我们需要用一个cut保存当前所在的页面,用一个栈保存回退的记录,再用一个栈保存前进的记录。
具体代码如下:

class BrowserHistory {
public:string cut;stack<string> backs;stack<string> forwards;BrowserHistory(string homepage) {cut=homepage;}void visit(string url) {backs.push(cut);while(!forwards.empty()){forwards.pop();}cut=url;}string back(int steps) {while(steps>0&&backs.size()){forwards.push(cut);cut=backs.top();backs.pop();steps--;}return cut;}string forward(int steps) {while(steps>0&&forwards.size()){backs.push(cut);cut=forwards.top();forwards.pop();steps--;}return cut;}
};/*** Your BrowserHistory object will be instantiated and called as such:* BrowserHistory* obj = new BrowserHistory(homepage);* obj->visit(url);* string param_2 = obj->back(steps);* string param_3 = obj->forward(steps);*/

脑海里有浏览器的场景就很好写。

http://www.lryc.cn/news/599422.html

相关文章:

  • Execel文档批量替换标签实现方案
  • 三维图像识别中OpenCV、PCL和Open3D结合的主要技术概念、部分示例
  • 【vue3+vue-pdf-embed】实现PDF+图片预览
  • Ubuntu22 上,用C++ gSoap 创建一个简单的webservice
  • 前端学习9:JavaScript--对象与原型
  • vue3 组件生命周期,watch和computed
  • SIP广播对讲系统:构建高效智能的语音通信网络
  • KNN 算法进阶:从基础到优化的深度解析
  • docker compose xtify-music-web
  • DNS 服务正反向解析与 Web 集成实战:从配置到验证全流程
  • 解决企业微信收集表没有图片、文件组件,不能收集图片的问题
  • 【57】MFC入门到精通——MFC 多线程编程总结
  • 飞算 JavaAI “撤回接口信息” 功能:误删接口不用慌,一键恢复更省心
  • 【在线五子棋对战】十、对战玩家匹配管理模块
  • 【LeetCode 热题 100】22. 括号生成——(解法一)选左括号还是选有括号
  • Java面试题(中等)
  • 使用PySide6开发系统界面并打包部署的完整教程
  • 【Redis】初识Redis(定义、特征、使用场景)
  • c++文件操作详解
  • MySQL常用日期函数总结
  • macbook安装homebrew
  • k8s常用基础命令总结
  • Dockerfile 文件及指令详解
  • Linux内核进程管理子系统有什么第八回 —— 进程主结构详解(4)
  • 代驾小程序系统开发:引领出行行业数字化转型
  • 在线笔试系统选型指南:牛客AI智能监考解决方案深度解析
  • Oracle不完全恢复实战指南:从原理到操作详解
  • RNN模型数学推导过程(笔记)
  • 基于Zigee的温度数据采集系统
  • IMU的精度对无人机姿态控制意味着什么?