[LeetCode]5430. 设计浏览器历史记录 原创
算法标签 数组模拟
题目描述

思路
模拟整个过程
 最重要的似乎就是拆分成数组模拟的思路
AC代码
class BrowserHistory {
public:
    int idx=0;
    string str[5000+10];
    int Max=0;
    BrowserHistory(string homepage) {
        str[idx]=homepage;
    }
    
    void visit(string url) {
        str[++idx]=url;
        Max=idx;
    }
    
    string back(int steps) {
        if(idx-steps<=0){idx=0;return str[0];}
        else {idx-=steps;return str[idx];}
    }
    
    string forward(int steps) {
        if(idx+steps>=Max){idx=Max;return str[Max];}
        else {idx+=steps;return str[idx];}
    }
};
/**
 * 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);
 */
 

                    
                
                
            
        
浙公网安备 33010602011771号