数据结构与算法
码农爱学习
码农爱学习,专注嵌入式~
展开
-
LeetCode题解-107. 二叉树的层次遍历 II(树 队列)
原题链接:https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/题目给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层次遍历为:[ [15,7], [9,20], [3]]分原创 2020-06-02 23:16:23 · 301 阅读 · 0 评论 -
LeetCode题解-43.字符串相乘(双层循环 进位)
原题链接:https://leetcode-cn.com/problems/multiply-strings/题目给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例 2:输入: num1 = "123", num2 = "456"输出: "56088"说明:num1 和 num2 的长度小于110。num1 和 num2 只原创 2020-06-02 23:15:35 · 378 阅读 · 0 评论 -
LeetCode题解-24. 两两交换链表中的节点(链表 递归)
原题链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs/题目给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 :给定 1->2->3->4, 你应该返回 2->1->4->3.分析采用递归的思想,先交换前两个节点,再交换接着的两个节点,依次类推,交换完成后将所有的两两部分连接在一起。编程的思路交换前两个节点,连接上后面已原创 2020-06-02 23:14:35 · 367 阅读 · 0 评论 -
LeetCode题解-19. 删除链表的倒数第N个节点(链表 双指针)
原题链接:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/题目给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例 :给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明 :给定的 n 保证是有效的。进阶 :你能尝试使用一趟扫描实现吗?分析一般思路为先用一个指针扫描原创 2020-06-02 23:13:48 · 378 阅读 · 0 评论 -
LeetCode题解-2.两数相加(链表 进位)
原题链接:https://leetcode-cn.com/problems/add-two-numbers/题目给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储 一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 :输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原创 2020-06-02 23:12:59 · 415 阅读 · 0 评论 -
排序算法笔记(C++版)
排序算法笔记(C++版)记录最近学习的排序算法1.冒泡排序时间复杂度:O(n)[最好],O(n2)[平均],O(n2)[最差]空间复杂度:O(1)代码:#include<iostream>#include<windows.h>//计时用using namespace std;//冒泡排序算法void bubbleSort(int data[], int...原创 2019-05-02 21:39:46 · 643 阅读 · 0 评论 -
查找算法笔记(C++版)
查找算法笔记(C++版)记录最近学习的一些查找算法目录查找算法笔记(C++版)1.顺序查找2.二分查找1.顺序查找时间复杂度:O(n)代码://顺序查找int sequentialSearch(int* list, int n, int x){ for (int i = 0; i < n; i++) { if (list[i] == x) return i; ...原创 2019-05-03 15:14:36 · 347 阅读 · 0 评论