- 一些小技巧
- vector当数组用
1
2vector<int> v(n + 1);
scanf("%d", &v[j]);
1051 Pop Sequence
思路:重新模拟题目
1 | #include <stdio.h> |
注意stack要在每次循环内重新初始化,不然栈中会存在之前的数据,vector也要重新初始化,每次push_back不会使数组保存在1-m。
1074 Reversing Link list
思路:将地址加入一个vector中,使用reverse函数将地址进行翻转即可。
1 | #include <stdio.h> |
1032 Sharing
思路:开始的时候是判断字符相不相同,发现字符可能重复,因此只要判断地址有没有相同就可以解决问题了,为避免双重循环,用一个isAppear数组记录地址有无出现。
1 | #include <stdio.h> |
注意:地址5位补全。
1052 Linked list sort
思路:从起始路径出发将所有节点加入vector中,最后用一个sort排序,从小到大输出。
1 | #include <stdio.h> |
注意:并不是所有节点都有用到,以及考虑所有都是脏数据的情况,起始地址为-1。
Deduplication on a Linked List
思路:开两个数组即可,用一个flag来判断是否重复了。
1 | #include <stdio.h> |
注意:re数组里可能没有值,要判断size大小。