![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
bryant-xw
Stay hungry, Stay foolish
展开
-
两个单链表相交问题2——无环链表相交
题目:如何判断两个无环链表相交,相交则返回第一个相交的节点,否则直接返回NULL解题步骤:(1)(2)代码:原创 2019-05-02 14:24:41 · 401 阅读 · 0 评论 -
两个单链表相交问题1——环存在与否
1. 题目:给定两个单链表的头节点head1和head2,这两个链表可能相交也可能不相交。实现一个函数,如果相交,返回相交的第一个节点,不相交返回NULL。ps:单链表可能是有环,可能无环有环的样子:无环的样子:要求:链表1的长度是n,链表2长度m,时间复杂度O(m+n),额外空间复杂度O(1)2. 题目拆分:问题1:如何判断一个链表是否有环,如果有,返回第一个进入环的节点如...原创 2019-05-02 14:02:41 · 256 阅读 · 0 评论 -
括号匹配问题(栈)
解题思路:利用栈的特点来解决问题,很简单,具体看代码#include<bits/stdc++.h>using namespace std;bool Is_Valid(char str[]){ int len = strlen(str); stack<char> st; bool flag = false; for(int i = 0; i < len...原创 2019-04-26 10:18:50 · 394 阅读 · 0 评论 -
双向链表的节点插入和删除
思路很简单,直接上代码#include<iostream>using namespace std;typedef struct node{ int val; struct node* next; struct node* pre; }node;void Init(node **head, node **tail){ (*head)=(node*)mal...原创 2019-04-26 00:49:33 · 5571 阅读 · 0 评论 -
图的存储——邻接表
图例:代码:#include <bits/stdc++.h>using namespace std;#define maxn 100//边的定义typedef struct ENode{ int start; int end; int weight; //权重}*Edge;//邻接点typedef struct AdjVNode{ int Adj...原创 2019-03-23 22:14:33 · 218 阅读 · 0 评论 -
图的存储——邻接矩阵
图的基础概念讲解此博客介绍比较全面例子及代码(1)邻接矩阵:有向图和无向图都可以存储其邻接矩阵如下:无向图的邻接矩阵关于主对角线对称代码:...原创 2019-03-23 15:29:09 · 760 阅读 · 0 评论 -
栈实现队列
要求:用两个栈实现队列先进先出的特点思路:stack1不断入栈,就是入队操作,之后将元素弹到stack2中,再将元素弹出就是出队操作例子:2,3,4,5,6进入stack1后变为2,3,4,5,6。弹出到stack2中变为6,5,4,3,2再弹出就是2,3,4,5,6代码:在这里插入代码片/* Name: Two_Stack_Achieve_Queue Author: ...原创 2018-11-26 23:16:55 · 120 阅读 · 0 评论 -
两个单链表相交问题3——有环链表相交
题目:如何判断两个有环链表相交,相交则返回第一个相交的节点,否则直接返回NULL解题步骤:(1)(2)代码:原创 2019-05-02 14:26:16 · 648 阅读 · 0 评论