1、学生出勤记录1
给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符:
'A' : Absent,缺勤
'L' : Late,迟到
'P' : Present,到场
如果一个学生的出勤记录中不超过一个'A'(缺勤)并且不超过两个连续的'L'(迟到),那么这个学生会被奖赏。
你需要根据这个学生的出勤记录判断他是否会被奖赏。
def checkRecord(self, s: str) -> bool:
return s.count('A') <=1 and 'LLL' not in s
2、反转字符串中的字符
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
string reverseWords(string s) {
int n=s.size();
int begin=0,end;
for(int i=0;i<n+1;i++){
if(s[i]==' '||s[i]=='\0'){
for(end=i-1;end>begin;begin++,end--){
swap(s[begin],s[end]);
}
begin=i+1;
}
}
return s;
}
3、N叉树的最大深度
给定一个 N 叉树,找到其最大深度。
最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。
int maxDepth(Node* root) {
return depth(root);
}
int depth(Node* root){
if(root==null)return 0;
int res=1;
for(auto x:root->children){
res=max(res,depth(x)+1);
}
return res;
}