Skip to content

Commit f351cd2

Browse files
committed
1.22 problems solved.
1 parent 9b104b2 commit f351cd2

22 files changed

+311
-0
lines changed

100.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
bool isSameTree(TreeNode* p, TreeNode* q) {
2+
if (p == NULL && q == NULL)
3+
return true;
4+
else if (p == NULL && q != NULL)
5+
return false;
6+
else if (p != NULL && q == NULL)
7+
return false;
8+
else
9+
{
10+
return p->val == q->val && isSameTree(p->left, q->left) && isSameTree(p->right, q->right);
11+
}
12+
}

104.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
int maxDepth(TreeNode* root) {
2+
if (root == 0)
3+
return 0;
4+
int leftdepth = maxDepth(root->left);
5+
int rightdepth = maxDepth(root->right);
6+
7+
return leftdepth > rightdepth ? leftdepth + 1 : rightdepth + 1;
8+
}

125.cpp

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
bool isPalindrome(string s) {
2+
int len = s.size();
3+
int i = 0, j = len - 1;
4+
while (i < j)
5+
{
6+
while (i < j && !isalnum(s[i]))
7+
++i;
8+
if (i == j)
9+
return true;
10+
while (i < j && !isalnum(s[j]))
11+
--j;
12+
if (i == j)
13+
return true;
14+
if (!(s[i] == s[j] || tolower(s[i]) == tolower(s[j])))
15+
return false;
16+
else
17+
{
18+
++i;
19+
--j;
20+
}
21+
}
22+
return true;
23+
}

136.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
int singleNumber(vector<int>& nums) {
2+
int res = nums[0];
3+
int len = nums.size();
4+
for (int i = 1; i < len; ++i)
5+
res ^= nums[i];
6+
return res;
7+
}

171.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
int titleToNumber(string s) {
2+
int len = s.size();
3+
int sum = 0;
4+
for (int i = 0; i < len; ++i)
5+
sum = sum * 26 + s[i] - 'A' + 1;
6+
return sum;
7+
}

226.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
TreeNode* invertTree(TreeNode* root) {
2+
if (root == NULL)
3+
return NULL;
4+
TreeNode* node = invertTree(root->left);
5+
root->left = invertTree(root->right);
6+
root->right = node;
7+
return root;
8+
}

237.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
void deleteNode(ListNode* node) {
2+
ListNode* p = node;
3+
ListNode* q = node->next;
4+
while (q->next != NULL)
5+
{
6+
p->val = q->val;
7+
p = q;
8+
q = q->next;
9+
}
10+
p->val = q->val;
11+
delete q;
12+
p->next = NULL;
13+
}

242.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
bool isAnagram(string s, string t) {
2+
int alpha1[26] = {0};
3+
int alpha2[26] = {0};
4+
int len1 = s.size();
5+
int len2 = t.size();
6+
for (int i = 0; i < len1; ++i)
7+
alpha1[s[i] - 'a']++;
8+
for (int i = 0; i < len2; ++i)
9+
alpha2[t[i] - 'a']++;
10+
for (int i = 0; i < 26; ++i)
11+
if(alpha1[i] != alpha2[i])
12+
return false;
13+
return true;
14+
}

258.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
int addDigits(int num) {
2+
if (num == 0)
3+
return 0;
4+
return num % 9 == 0 ? 9 : num % 9;
5+
}

283.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
void moveZeroes(vector<int>& nums) {
2+
int len = nums.size();
3+
int i = 0, j = 0;
4+
while (i < len && j < len)
5+
{
6+
while (i < len && nums[i] != 0 )
7+
i++;
8+
j = i + 1;
9+
while (j < len && nums[j] == 0)
10+
j++;
11+
if (j >= len)
12+
break;
13+
swap(nums[i], nums[j]);
14+
i++;
15+
j++;
16+
}
17+
}

0 commit comments

Comments
 (0)