- 博客(4)
- 收藏
- 关注
原创 树的子结构
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 思路:假设有a、b两棵树:1、首先对两棵树的根节点进行判断,根节点不相等,就用a树的左子树再去和b树比较,如果还是不相等,再用a树的右子树再去和b树进行比较。 2、如果根节点的值相等,再进一步判断对应的左子树和右子树是否相等, class Solution { public: boo...
2018-12-05 17:21:40 92
原创 合并两个排序的链表
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路:利用了函数的递归调用,首先从头开始判断两个链表的节点的数据的大小,把小的放进一个新建的链表中,放进去之后再让链表指向下一个位置,递归判断。 class Solution { public: ListNode* Merge(ListNode* pHead1, ListNode* pHea...
2018-12-02 18:05:12 102
原创 反转链表
输入一个链表,反转链表后,输出新链表的表头。 思路:链表反转用到了栈 进行操作,把一个链表先循环压进栈中,利用栈先进后出的特点,循环出栈就得到了反转后的链表。 class Solution { public: ListNode* ReverseList(ListNode* pHead) { if(pHead == NULL || pHead -> nex...
2018-12-02 18:00:57 87
原创 链表中倒数第K个节点
输入一个链表,输出该链表中倒数第k个结点。 思路:求倒数第K个链表节点需要用到两个指针,先让第一个指针走K个节点,然后让两个指针再共同前进,当第一个指针到达链表尾部的时候,此时第二个指针正好到达倒数第K个节点的位置。 class Solution { public: ListNode* FindKthToTail(ListNode* pListHead, unsigned int k...
2018-12-02 17:55:45 114
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人