File tree 1 file changed +15
-18
lines changed
1 file changed +15
-18
lines changed Original file line number Diff line number Diff line change 1
1
class Solution {
2
- public int [] rearrangeArray (int [] nums ) {
3
- List <Integer > positive = new ArrayList <>();
4
- List <Integer > negative = new ArrayList <>();
5
- for (int num : nums ) {
6
- if (num > 0 ) {
7
- positive .add (num );
8
- } else {
9
- negative .add (num );
10
- }
2
+ public int [] rearrangeArray (int [] nums ) {
3
+ int n = nums .length ;
4
+ int [] result = new int [n ];
5
+ int posIndex = 0 ;
6
+ int negIndex = 1 ;
7
+ for (int i = 0 ; i < n ; i ++) {
8
+ if (nums [i ] > 0 ) {
9
+ result [posIndex ] = nums [i ];
10
+ posIndex += 2 ;
11
+ } else {
12
+ result [negIndex ] = nums [i ];
13
+ negIndex += 2 ;
14
+ }
15
+ }
16
+ return result ;
11
17
}
12
- int positiveIdx = 0 ;
13
- int negativeIdx = 0 ;
14
- boolean positiveFlag = true ;
15
- for (int i = 0 ; i < nums .length ; i ++) {
16
- nums [i ] = positiveFlag ? positive .get (positiveIdx ++) : negative .get (negativeIdx ++);
17
- positiveFlag = !positiveFlag ;
18
- }
19
- return nums ;
20
- }
21
18
}
You can’t perform that action at this time.
0 commit comments