本文共 456 字,大约阅读时间需要 1 分钟。
题目:
解答:
类似快排的做法。
数据{ 1, 2, 2, 1, 2, 0 }; 在我的机器上跑能够输出正确的结果,在oj上就不行。网上找了份代码过了。我的做法是正确的。
代码:
class Solution { public: void sortColors(int A[], int n) { int i = -1, j = -1, k = 0; while (k < n) { if (A[k] == 0) { A[k] = 2; A[j + 1] = 1; A[i + 1] = 0; ++i; ++j; ++k; } if (A[k] == 1) { A[k] = 2; A[j + 1] = 1; ++j; ++k; } if (A[k] == 2) { ++k; } } } };
转载地址:http://yytsi.baihongyu.com/