计算二进制字串环形链表环形链表 II 反转字符串中的元音字母
创始人
2025-05-29 13:41:28
0

计数二进制字串

来源:自己LeetCode刷题

696. 计数二进制子串 - 力扣(LeetCode)

#include 
int countBinarySubstrings(char * s)
{int sz=strlen(s);int ans=0;int i=1;while (i<=sz-1){char ch1=s[i-1];char ch2=s[i];if (ch1!=ch2){int left=i-1;int right=i;while(left>=0 && right<=sz-1){if (s[left]==ch1 && s[right]==ch2){ans++;left--;right++;}else{break;}}}i++;}return ans;
}
#include 
#define N 100010
int countBinarySubstrings(char * s)
{int ans=0;int sz=strlen(s);int arr[sz];int sz1=0;int flag=0;char ch=0;int count=0;for (int i=0;i
我想说:
  1. 可以算是一种比较新奇的思路吧。


环形链表

来源:杭哥

141. 环形链表 - 力扣(LeetCode)

typedef struct ListNode ListNode;
bool hasCycle(struct ListNode *head) 
{ListNode* slow=head;ListNode* fast=head;while(fast!=NULL && fast->next!=NULL){slow=slow->next;fast=fast->next->next;if (fast==slow){return true;}}return false;
}
我想说:
  1. 判断一个链表是不是是一个环形链表的话,就只需要去设置快慢指针,然后让曼指针每次走一步,快指针每次走两步,这样子的话,快指针会先进入到环当中,然后等到慢指针也进入到这个环当中的时候,这时候相当于在环里面就变成了一个追击问题,由于他们两个的速度差为1,因此他们的距离每次都会缩短1,因此肯定会相遇。


环形链表 II

来源:杭哥

142. 环形链表 II - 力扣(LeetCode)

typedef struct ListNode ListNode;
struct ListNode *detectCycle(struct ListNode *head) 
{ListNode* slow=head;ListNode* fast=head;while(fast!=NULL && fast->next!=NULL){slow=slow->next;fast=fast->next->next;if (fast==slow){ListNode* cur1=slow;ListNode* cur2=head;while(cur1!=cur2){cur1=cur1->next;cur2=cur2->next;}return cur1;}}return NULL;
}
/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/typedef struct ListNode ListNode;
struct ListNode *detectCycle(struct ListNode *head) 
{ListNode* slow=head;ListNode* fast=head;while(fast!=NULL && fast->next!=NULL){slow=slow->next;fast=fast->next->next;if (fast==slow){ListNode* cur1=slow->next;ListNode* head1=cur1;slow->next=NULL;ListNode* cur2=head;int sz1=1;int sz2=1;while(cur2->next!=NULL){sz2++;cur2=cur2->next;}while(cur1->next!=NULL){sz1++;cur1=cur1->next;}int gap=abs(sz1-sz2);ListNode* longlist=head1;ListNode* shortlist=head;if (sz2>sz1){longlist=head;shortlist=head1;}while(gap--){longlist=longlist->next;}while(longlist!=shortlist){longlist=longlist->next;shortlist=shortlist->next;}return longlist;}}return NULL;
}
我想说:
  1. 这就需要利用到一个结论,如果一个指针从相遇点出发,一个指针从起始点出发,他们两个行走的速度都是一样的,那么他们必将会在入环点相遇。

  1. 其次,链表带环问题如果要求入环点的话,也可以把它转化成相交链表问题,这时候需要人为的把环当中的某一段给人为的斩断,这相当于就形成了两个相交的链表。


反转字符串中的元音字母

来源:自己LeetCode刷题

345. 反转字符串中的元音字母 - 力扣(LeetCode)

#include 
#include 
char * reverseVowels(char * s)
{int sz=strlen(s);int i=0;int j=sz-1;while(i=0 && s[j]!='a'&&s[j]!='A'&& s[j]!='e'&&s[j]!='E' && s[j]!='i' &&s[j]!='I' && s[j]!='o'&&s[j]!='O'&& s[j]!='u'&&s[j]!='U'){j--;}if (i
我想说:
  1. 双指针呗,有啥好说的。


相关内容

热门资讯

罗永浩的科技春晚,除了「翻车」... 「核心提示」产品乏善可陈、现场状况频出,罗永浩的回归之路,为何越走越艰难?作者 |高宇哲刘杨“这么多...
凌晨,全线跳水!美联储降息,大... 2025年收官日,美股全线下挫。北京时间2026年1月1日凌晨,美股三大指数尾盘集体跳水,纳指、标普...
伯克希尔进入阿贝尔时代,巴菲特... 2026年的第一天,金融界迎来了一件诸多投资者曾希望永远不会发生的大事:“股神”巴菲特即将功成身退。...
遭23亿索赔,欣旺达要“真心话... 既是对这家锂电制造商过去发展的一次全面检验,也是对未来发展方向的一次深刻反思。文/每日资本论2026...
豪掷14.83亿元!天原股份拟... 中经记者 陈家运 北京报道2025年12月30日,天原股份(002386.SZ)发布公告称,其全资子...
第五套上市标准扩围后5天迎来首... 中经记者 孙汝祥 夏欣 北京报道上交所官网显示,2025年12月31日,蓝箭航天空间科技股份有限公司...
兆芯集成连年“失血” 控股股东... 《金证研》北方资本中心 亚一BR&*DL/作者夕山 映蔚/风控自申报科创板上市申请获受理已过半年,上...
重拾初心:让春天不再寂静! “我们现在正站在两条路的交叉口上。我们长期以来一直行驶的那条路,看似舒适平坦的高速公路,能让我们疾驰...
2025年A股复盘:成长引领的... 回顾今年,A股在政策支持、产业升级与资金流入的共同驱动下,走出了一轮整体上涨、结构分化的“成长牛”行...
北交所将修订上市规则,强化公司... 新京报贝壳财经讯(记者黄鑫宇)12月31日晚,北京证券交易所(即北交所)宣布,为完成《北京证券交易所...