面试题 08.06
Solutions
class Solution {
public:
template <typename T>
void move(int n, T & a, T & b, T & c) {
if (n == 1) {
c.push_back(a.back()); a.pop_back();
}
else {
move(n - 1, a, c, b);
c.push_back(a.back()); a.pop_back();
move(n - 1, b, a, c);
}
}
void hanota(vector<int>& A, vector<int>& B, vector<int>& C) {
move(A.size(), A, B, C);
}
};Last updated