Skip to content

Commit df94e79

Browse files
authored
feat: add js solution to lc problem: No.1370 (doocs#1010)
1 parent 349b731 commit df94e79

File tree

3 files changed

+94
-0
lines changed

3 files changed

+94
-0
lines changed

solution/1300-1399/1370.Increasing Decreasing String/README.md

+33
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,39 @@ func sortString(s string) string {
184184
}
185185
```
186186

187+
### **Javascript**
188+
189+
```js
190+
/**
191+
* @param {string} s
192+
* @return {string}
193+
*/
194+
var sortString = function (s) {
195+
let rs = '';
196+
const m = new Map();
197+
for (let i = 0; i < s.length; i++) {
198+
m.set(s[i], (m.get(s[i]) || 0) + 1);
199+
}
200+
const keys = [...m.keys()];
201+
keys.sort();
202+
while (rs.length < s.length) {
203+
for (let j = 0; j < keys.length; j++) {
204+
if (m.get(keys[j]) != 0) {
205+
rs += keys[j];
206+
m.set(keys[j], m.get(keys[j]) - 1);
207+
}
208+
}
209+
for (let j = keys.length - 1; j >= 0; j--) {
210+
if (m.get(keys[j]) != 0) {
211+
rs += keys[j];
212+
m.set(keys[j], m.get(keys[j]) - 1);
213+
}
214+
}
215+
}
216+
return rs;
217+
};
218+
```
219+
187220
### **...**
188221

189222
```

solution/1300-1399/1370.Increasing Decreasing String/README_EN.md

+33
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,39 @@ func sortString(s string) string {
158158
}
159159
```
160160

161+
### **Javascript**
162+
163+
```js
164+
/**
165+
* @param {string} s
166+
* @return {string}
167+
*/
168+
var sortString = function (s) {
169+
let rs = '';
170+
const m = new Map();
171+
for (let i = 0; i < s.length; i++) {
172+
m.set(s[i], (m.get(s[i]) || 0) + 1);
173+
}
174+
const keys = [...m.keys()];
175+
keys.sort();
176+
while (rs.length < s.length) {
177+
for (let j = 0; j < keys.length; j++) {
178+
if (m.get(keys[j]) != 0) {
179+
rs += keys[j];
180+
m.set(keys[j], m.get(keys[j]) - 1);
181+
}
182+
}
183+
for (let j = keys.length - 1; j >= 0; j--) {
184+
if (m.get(keys[j]) != 0) {
185+
rs += keys[j];
186+
m.set(keys[j], m.get(keys[j]) - 1);
187+
}
188+
}
189+
}
190+
return rs;
191+
};
192+
```
193+
161194
### **...**
162195

163196
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/**
2+
* @param {string} s
3+
* @return {string}
4+
*/
5+
var sortString = function (s) {
6+
let rs = '';
7+
const m = new Map();
8+
for (let i = 0; i < s.length; i++) {
9+
m.set(s[i], (m.get(s[i]) || 0) + 1);
10+
}
11+
const keys = [...m.keys()];
12+
keys.sort();
13+
while (rs.length < s.length) {
14+
for (let j = 0; j < keys.length; j++) {
15+
if (m.get(keys[j]) != 0) {
16+
rs += keys[j];
17+
m.set(keys[j], m.get(keys[j]) - 1);
18+
}
19+
}
20+
for (let j = keys.length - 1; j >= 0; j--) {
21+
if (m.get(keys[j]) != 0) {
22+
rs += keys[j];
23+
m.set(keys[j], m.get(keys[j]) - 1);
24+
}
25+
}
26+
}
27+
return rs;
28+
};

0 commit comments

Comments
 (0)