用栈先进后出思想,先进栈,然后从栈顶依次出,pop()下
class Solution{
public:
vector<int> reversePrint(ListNode* head){
stack<int> stk;
vector<int> v;
while(head != NULL){
stk.push(head -> val);//head指针指向的元素
head = head -> next; //下一个指针
}
while(!stk.empty()){
v.push_back(stk.top());
stk.pop();
}
return v;
}
};
把字符串转换成整数
class Solution {
public:
int strToInt(string str) {
str.erase(0, str.find_first_not_of(' '));
int64_t ans = 0;
int tag = 1;
for(int ii = 0; ii < str.size(); ii++) {
char ch = str[ii];
if(ii == 0 && (ch == '-' || ch == '+')) {
if(ch == '-') tag = -1;
}
else if(ch >= '0' && ch <= '9') ans = ans * 10 + (ch - '0');
else break;
if(ans > INT_MAX) break;
}
if(tag == 1 && ans >= INT_MAX) return INT_MAX;
if(tag == -1 && -ans <= INT_MIN) return INT_MIN;
return ans * tag;
}
};