数据结构算法
文章平均质量分 54
__lily_
这个作者很懒,什么都没留下…
展开
-
移除链表元素——C语言
while循环的条件是p的下一个结点不为空。循环内部,检查p的下一个结点的值是否与val相等,如果相等,就是用声明的临时节点temp指向要删除的结点,然后进行删除操作,如果不相等,p就移向下一个结点。循环结束后将哑结点的下一个结点赋值给head,释放哑结点,返回head。同时定义了结点p,初始化指向哑结点,p是为了向后进行遍历链表。dummy是声明的一个哑结点,指向链表的头结点head;原创 2024-04-15 20:49:41 · 329 阅读 · 0 评论 -
相交链表——C语言
作者:nkion 链接:https://leetcode.cn/problems/intersection-of-two-linked-lists/solutions/2477297/cyu-yan-10xing-dai-ma-by-jian-ting-yuan-59sq/ 来源:力扣(LeetCode)著作权归作者所有。当两个链表长度相等的时候,curA和curB会在交点相遇,当两个链表长度不相等时,由于curA和curB都会遍历两个链表,所有会在第二次遍历的时候在交点相遇。原创 2024-04-15 20:18:40 · 340 阅读 · 0 评论 -
环形链表——C语言
如果快指针的下一个结点为NULL,那么在下一次循环的时候fast->next->next就会发生错误。条件fast == NULL表示的是快指针为NULL,走到了链表的末尾,说明没有环。,同样表明是没有环的。只有当这两个条件都不满足的时候,才能继续激动快慢指针。条件fast->next == NULL ,快指针每次走两步,慢指针每次走一步。代码的核心是使用两个指针,原创 2024-04-14 13:21:16 · 223 阅读 · 0 评论 -
栈的应用——有效的括号
4、当ch的值不为零的时候,即当前遍历的是右括号,那么就要看栈中是否还有元素,或者栈顶的元素是否与ch的值相等,如果栈为空或者栈顶元素与ch不相等,那么返回的就是false;5、当ch的值为零的时候,即当前遍历的是左括号,那么就将元素入栈,并将top的值++;paris(char a),当为右括号时,返回的是左括号,当为左括号时,返回的是0。1、首先计算包含括号的字符串的长度,如果为奇数个,那么一定是不匹配的。,当遇到右括号的时候,应该将相应的左括号出栈,定义的。,为0的时候说明遍历的是左括号。原创 2024-04-13 15:01:21 · 468 阅读 · 0 评论