Lion X

** LeetCode算法实现** <Excerpt in index | 首页摘要>
C语言实现LeetCode——1021

<The rest of contents | 余下全文>

LeetCode_1021_Remove Outermost Parentheses

实现步骤

1.计算字符串的长度,如果长度等于0或长度不是偶数返回""
2.判断字符串开头是否为'(',如果不是返回""
3.创建一个变量A(result),用于返回计算结果
4.循环遍历字符串,如果是'(',count++,否则count--
5.如果count大于等于2时将字符可写入改为true,如果count等于0时将字符可写入改为false
6.将可写入位置的字符赋值给变量A(result)
7.将变量A(result)末尾位置赋值为'\0'

代码实现

C语言

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
char * removeOuterParentheses(char * S){
int len = strlen(S);
if(len == 0){
return "";
}
if(len % 2){
return "";
}
if(S[i] != '('){
return "";
}
char * result = (char *)malloc(len);
int flag = 0;
int count = 0;
int j = 0
for(int i = 0; i < len; i++){
if(S[i] == '('){
count++;
}
else if(S[i] == ')'){
count--;
}
if(count == 0){
flag = 0;
}
else if(count >= 2){
flag = 1;
}
if(flag){
result[j] = S[i];
j++;
}
}
result[j] = '\0';
return result;
}

 Comments