合集-每日一练

摘要:本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。 给定任意N个符号, 阅读全文
posted @ 2023-07-08 23:21 歪爱慕外 阅读(50) 评论(0) 推荐(0)
摘要:用两个栈来实现一个队列,使用n个元素来完成 n 次在队列尾部插入整数(push)和n次在队列头部删除整数(pop)的功能。 队列中的元素为int类型。保证操作合法,即保证pop操作时队列内已有元素。 思路: 1、s1入队,s2出队 2、s2为空,s1非空,出队时从s1->s2,s1需全部转移 3、s 阅读全文
posted @ 2023-07-10 19:47 歪爱慕外 阅读(42) 评论(0) 推荐(0)
摘要:给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。 如当输入链表{1,2,3}时, 经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。 以上转换过程如下图所示: struct ListNode* Revers 阅读全文
posted @ 2023-07-11 20:36 歪爱慕外 阅读(27) 评论(0) 推荐(0)
摘要:输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。 要求:空间复杂度O(1),时间复杂度O(n) 如输入{1,3,5},{2,4,6}时,合并后的链表为{1,2,3,4,5,6},所以对应的输出为{1,2,3,4,5,6} struct ListNode* M 阅读全文
posted @ 2023-07-13 23:26 歪爱慕外 阅读(32) 评论(0) 推荐(0)
摘要:给一个长度为n链表,若其中包含环,请找出该链表的环的入口结点,否则,返回null。 struct ListNode* EntryNodeOfLoop(struct ListNode* pHead ) { // write code here if(pHead==NULL|| pHead->next= 阅读全文
posted @ 2023-07-14 20:32 歪爱慕外 阅读(43) 评论(0) 推荐(0)
摘要:输入两棵二叉树的序列AB,判断B是否是A的子结构(NULL不是任何树的子结构) 创建了判断两个节点是否相等的以来函数,在判断是否是子结构的函数里用递归实现。 阅读全文
posted @ 2023-07-18 20:52 歪爱慕外 阅读(56) 评论(0) 推荐(0)
摘要:解题思路:采用快慢指针的方法将单链表分成两半,再对两部分的链表进行合并 void reorderList(struct ListNode* head) { if (head == NULL || head->next == NULL) { return; } // 找到链表中间节点 struct L 阅读全文
posted @ 2023-09-11 20:51 歪爱慕外 阅读(76) 评论(0) 推荐(0)