205.同构字符串
题目链接
只用比较每个字符上一次出现的位置是否一致
class Solution {
public:
int mps[256],mpt[256];
bool isIsomorphic(string s, string t) {
memset(mps,-1,sizeof mps);
memset(mpt,-1,sizeof mpt);
for(int i = 0;i < s.size(); i++){
if(mps[s[i] + 128]!=mpt[t[i] + 128])return false;
mps[s[i] + 128] = mpt[t[i] + 128] = i;
}
return true;
}
};
206.反转链表
题目链接
class Solution {
public:
ListNode* reverseList(ListNode* head) {
ListNode* pre = NULL;
ListNode* nw = head;
while(nw){
ListNode* tmp = nw->next;
nw->next = pre;
pre = nw;
nw = tmp;
}
return pre;
}
};

本文解析了LeetCode上的两道经典算法题:205.同构字符串与206.反转链表。通过代码示例详细介绍了如何判断两个字符串是否为同构字符串,以及如何反转一个链表。这两道题目对于理解字符串处理和链表操作具有重要意义。
168

被折叠的 条评论
为什么被折叠?



