周四了 要去滑冰好虚= =
- to do
1] traptrap
2] Rotate Image
void mirrorByMid(vector<vector<int>>& matrix) {
int size = matrix.size();
for (int i=0; i<size/2; ++i) {
for (int j=0; j<size; ++j) {
swap(matrix[i][j], matrix[size-i-1][j]);
}
}
}
void mirrorByDiag(vector<vector<int>>& matrix) {
int size = matrix.size();
for (int i=0; i<size; ++i) {
for (int j=0; j<i; ++j) {
swap(matrix[i][j], matrix[j][i]);
}
}
}
void rotate(vector<vector<int>>& matrix) {
mirrorByMid(matrix);
mirrorByDiag(matrix);
}
3] Plus One
vector<int> plusOne(vector<int>& digits) {
if (digits.empty()) return digits;
else digits[digits.size()-1] +=1;
int carry = 0;
for (int i=digits.size()-1; i>=0; --i) {
if ( digits[i]+carry > 9 ) {
digits[i] += carry-10;
carry = 1;
} else {
digits[i] += carry;
carry = 0;
}
}
if (carry) digits.insert(digits.begin(), carry);
return digits;
}
Or better:
vector<int> plusOne(vector<int>& digits) {
int carry = 1;
for (int i=digits.size()-1; i>=0; --i) {
digits[i] += carry;
carry = digits[i]/10;
digits[i] %= 10;
}
if (carry) digits.insert(digits.begin(), carry);
return digits;
}
网友评论