オランダ国旗問題は3つの部分leecodeに分かれています
4431 ワード
1 public class Solution {
2 public void sortColors(int[] A) {
3 int len=A.length;
4 int beg=0;
5 int end=len-1;
6 int cur=0;
7 while(cur<=end){
8 if(A[cur]==0)
9 {
10 swap(A,cur,beg);
11 beg++;
12 cur++;
13
14
15 }
16 else if(A[cur]==1)
17 {
18 cur++;
19
20 }
21 else
22 {
23 swap(A,cur,end);
24 end--;
25
26
27 }
28
29
30 }
31 }
32 public void swap(int[] A,int i,int j)
33 {
34 int temp=A[i];
35 A[i]=A[j];
36 A[j]=temp;
37
38
39
40 }
41
42
43
44 }