![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
蜀沐
这个作者很懒,什么都没留下…
展开
-
leetcode剑指offer32-III 广度优先算法
题目:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-iii-lcof/ 思路:广度优先算法 利用栈(先进后出) 定义两个栈,一个用于存储当前节点,一个用于存储下一层的节点 判断根节点是否为零,为零就将返回空; 将根节点入栈1,将标识符设置为1,(表示对栈1 内的节点进行操作) 栈1、栈2不为空 执行循环体 如果标识符为1,计算栈1节点的个数,将每个节点从栈中抛出,每抛出一个节点,将结点的值入一维数组,将节点的左子原创 2020-10-22 15:28:31 · 95 阅读 · 0 评论 -
leetcode剑指32-II 二叉树层序遍历
题目;https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-ii-lcof/solution/zi-jie-ti-ku-jian-32-ii-jian-dan-cong-shang-dao-xi/ 思路:广度优先搜索 利用队列 (先进先出) 1. 先判断树是否为空,为空就返回空; 2. 不为空将根节点入队列,判断队列是否为空,不为空就循环 3. 计算队列的长度(得到当前层的节点数),遍历当前层的每个节点, 将原创 2020-10-22 11:47:56 · 84 阅读 · 0 评论 -
letcode面试题02.01 移除链表的相同节点
题目: https://leetcode-cn.com/problems/remove-duplicate-node-lcci/ 思路一:利用unordered_set这个容器的函数 《count》。先设置unordered_set,如果unordered_set容器内没有相同的节点,则将其加入容器中,指针向后移一位,否则则将指针向后移两位,直到链表遍历结束 补充知识: unordered_set它的实现基于hashtable,它的结构图仍然可以用下图表示,这时的空白格不在是单个value,而是set中的k原创 2020-10-12 21:50:50 · 120 阅读 · 0 评论 -
letcode剑指offer24反转链表
题目: https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof/submissions/ 思路;反转链表 ListNode* reverseList(ListNode* head) { /* 写法一: if (head == NULL) return NULL; ListNode*t = NULL; ListNode*p = head->next;原创 2020-10-12 17:45:05 · 64 阅读 · 0 评论 -
leetcode02.06 链表简单题
题目: https://leetcode-cn.com/problems/palindrome-linked-list-lcci/solution/liang-chong-fang-fa-jie-jue-hui-wen-lian-biao-wen-/ 思路一:用栈模拟,将链表的数值进栈,然后从头开始遍历链表,如果数值和出栈的值相等,则是回文彪,如果不同,则不是。利用栈的特性(先进后出) bool isPalindrome(ListNode* head) {bool isPalindrome(ListNode原创 2020-10-12 16:57:32 · 101 阅读 · 0 评论 -
剑指offer18 -链表问题
题目: https://leetcode-cn.com/problems/shan-chu-lian-biao-de-jie-dian-lcof/ 思路一:函数参数是头之指针和值,遍历链表,如果满足头指针指向节点的下一个节点的值和需要删掉的值相等,那么就需要头指针指向的节点的next域设置为要删掉的下一个节点的值。同时返回头结点的下一个结点的地址。注意:这种情况不包括头节点为空和头节点的值就是要删掉的值 if (!head) return head; if (head->val == val) ret原创 2020-10-09 20:25:25 · 170 阅读 · 0 评论