题解 | #从单向链表中删除指定值的节点#

从单向链表中删除指定值的节点

https://www.nowcoder.com/practice/f96cd47e812842269058d483a11ced4f

#include <iostream>
#include <vector>

using namespace std;

int main() {
    int num;
    cin>>num;
    int first;
    cin>>first;
    vector<int> temp;
    vector<int>::iterator it;
    temp.push_back(first);
    for(int i=0;i<num-1;i++){
        int val;
        int node;
        cin>>val;
        cin>>node;
        for(int j=0;j<temp.size();j++){
            if(temp[j] == node){
                if(j==temp.size()-1){
                    temp.push_back(val);
                }else{
                    it=temp.begin();
                    temp.insert(it+j+1,val);
                }
                break;
            }
        }

    }

    int end;
    cin>>end;
    for(auto a:temp){
        if(a==end)
            continue;
        cout<<a<<" ";
    }
    cout<<endl;
    return 0;

}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务