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

浙公网安备 33010602011771号