实现一个函数原地交换两个数,且不能用辅助空间。
思路:
经典问题。
void swap(int& a, int& b)
{
a = b - a;
b = b - a;
a = b + a;
}
void swap(int& a, int& b)
{
a = a ^ b;
b = a ^ b;
a = a ^ b;
}
void swap(int& a, int& b)
{
int temp = a;
a = b;
b = temp;
}
实现一个函数原地交换两个数,且不能用辅助空间。
思路:
经典问题。
void swap(int& a, int& b)
{
a = b - a;
b = b - a;
a = b + a;
}
void swap(int& a, int& b)
{
a = a ^ b;
b = a ^ b;
a = a ^ b;
}
void swap(int& a, int& b)
{
int temp = a;
a = b;
b = temp;
}