aboutsummaryrefslogtreecommitdiff
path: root/add_space_string.c
diff options
context:
space:
mode:
authorJack Sangdahl <[email protected]>2024-12-02 22:04:49 -0700
committerJack Sangdahl <[email protected]>2024-12-02 22:04:49 -0700
commitac9ff6585c34d5d761553f3da034087ce77d4078 (patch)
treea268df0c1f05fe66061256c8bded0d381490fc4d /add_space_string.c
parent7a862390b25f739dd3670c3e255653b29c7e8a19 (diff)
downloadleetcode-ac9ff6585c34d5d761553f3da034087ce77d4078.tar.gz
leetcode-ac9ff6585c34d5d761553f3da034087ce77d4078.zip
2109. adding spaces to a string
Diffstat (limited to 'add_space_string.c')
-rw-r--r--add_space_string.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/add_space_string.c b/add_space_string.c
index 3d6bf04..6699ca8 100644
--- a/add_space_string.c
+++ b/add_space_string.c
@@ -1,7 +1,5 @@
// 2109. Adding Spaces to a String
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
+#include "leetcode.h"
/*
* given a 0-indexed string 's' and a 0-indexed integer array 'spaces' that
@@ -10,16 +8,16 @@
* modified string after the spaces have been added
*/
-char *addSpaces(char *s, int *spaces, int spaces_size) {
- int n = strlen(s), m = n + 1 + spaces_size;
- char *ans = malloc(m * sizeof(char));
+char *addSpaces(char *s, int *spaces, int spacesSize) {
+ int n = strlen(s), m = n + spacesSize + 1;
+ char *ans = (char *)malloc(m * sizeof(char));
ans[m - 1] = '\0';
int aidx = 0, bidx = 0;
- int *num = malloc(spaces_size * sizeof(int));
+ int *num = (int *)malloc(spacesSize * sizeof(int));
num[0] = spaces[0];
- for (int i = 1; i < spaces_size; i++)
+ for (int i = 1; i < spacesSize; i++)
num[i] = spaces[i] - spaces[i - 1];
- for (int i = 0; i < spaces_size; i++) {
+ for (int i = 0; i < spacesSize; i++) {
strncpy(&ans[aidx], &s[bidx], num[i]);
aidx += num[i];
bidx += num[i];
@@ -32,8 +30,11 @@ char *addSpaces(char *s, int *spaces, int spaces_size) {
}
int main() {
- char s1[] = {"LeetcodeHelpsMeLearn"}, s2[] = {"icodeinpython"};
- int n1[] = {8, 13, 15}, n2[] = {1, 5, 7, 9};
- printf("%s\n", addSpaces(s1, n1, 3)); // expect: Leetcode Helps Me Learn
- printf("%s\n", addSpaces(s2, n2, 4)); // expect: i code in py thon
+ char *s1 = "LeetcodeHelpsMeLearn", *s2 = "icodeinpython", *s3 = "spaceing";
+ int n1[] = {8, 13, 15}, n2[] = {1, 5, 7, 9}, n3[] = {0, 1, 2, 3, 4, 5, 6};
+ printf("%s\n",
+ addSpaces(s1, n1, ARRAY_SIZE(n1))); // expect: Leetcode Helps Me Learn
+ printf("%s\n",
+ addSpaces(s2, n2, ARRAY_SIZE(n2))); // expect: i code in py thon
+ printf("%s\n", addSpaces(s3, n3, ARRAY_SIZE(n3))); // s p a c i n g
}