相同的树
题目:
代码:
class Solution {
public:
bool isSameTree(TreeNode* p, TreeNode* q) {
if (p == nullptr && q == nullptr) {
return true;
} else if (p == nullptr || q == nullptr) {
return false;
} else if (p->val != q->val) {
return false;
}
else {
return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);
}
}
};
杨辉三角
题目:
代码:
#include<cmath>
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main(){
int numrows;
scanf("%d",&numrows);
vector<vector<int>> ret(numrows);
for(int i=0;i<numrows;i++){
ret[i].resize(i+1);
ret[i][0] = ret[i][i] = 1;
for(int j=1;j<i;j++){
ret[i][j] = ret[i-1][j] + ret[i-1][j-1];
}
}
for(int i=0;i<numrows;i++){
for(int j=0;j<=i;j++){
printf("%d ",ret[i][j]);
}
printf("\n");
}
return 0;
}
验证回文串
题目:
代码:
#include<cmath>
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main(){
char str[200];
fgets(str,200,stdin);
string s = str;
s.pop_back();
string sgood;
for(char ch:s){
if (isalnum(ch)){
sgood += tolower(ch);
}
}
string sgood_rev(sgood.rbegin(),sgood.rend());
printf("%s\n",sgood_rev.c_str());
printf("%d",sgood==sgood_rev);
return 0;
}
只出现一次的数字
题目
代码
#include<cmath>
#include<iostream>
#include<algorithm>
#include<map>
using namespace std;
int main(){
int n;
scanf("%d",&n);
int nums[n];
for(int i=0;i<n;i++){
scanf("%d",&nums[i]);
}
map<int,int> count;
for(int i=0;i<n;i++){
auto it = count.find(nums[i]);
if(it!=count.end()){
count[nums[i]]++;
}
else{
count[nums[i]] = 1;
}
}
for(auto it:count){
if(it.second == 1){
printf("%d",it.first);
return 0;
}
}
}