1 class Solution {
 2 public:
 3     void sortColors(int A[], int n) {
 4         auto swap = [](int &a, int &b){int t = a; a = b; b = t;};
 5         int start = 0, end = n-1, runner = 0;
 6         while (runner <= end) {
 7             if (A[runner] == 0) {
 8                 swap(A[runner++], A[start++]);
 9                 continue;
10             }
11             if (A[runner] == 2) {
12                 swap(A[runner], A[end--]);
13                 continue;
14             }
15             runner++;
16         }
17     }
18 };

 

posted on 2015-03-23 15:11  keepshuatishuati  阅读(122)  评论(0编辑  收藏  举报