** 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; }
|