反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表。你…
分类:算法
常见排序算法总结
排序算法 综述 排序时需要的方法 选择排序 插入排序 希尔排序 归并排序 快速排序 堆排序 综述 本文主要是整理几种常见的排序算法(选择排序,插入排序,希尔排序,归并排序、快速排序,堆排序)源码Github地址 排序时需…
算法题:输入年月日,输出该日期是当年的多少天
因为题目要求参数只能使用int,所以这里不讨论Java的日期特性. 思路分析: 首先闰年的年份2月为29天,平年2月为28天,所以要先判断输入的年份是闰年还是平年,判断方式是:如果年份能够被4…
算法设计与分析作业(一)实现几种不同情形的二分查找
实现几种不同情形的二分查找。 1). 求等于x的最小的index,不存在返回-1。 输入: 3 5 5 7 7 10 11…
2019-03-14-算法-进化(移动零)
题目描述 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额…
leetcode950_按递增顺序显示卡牌
思路: 模拟一下操作的行为,由于操作的最后,得到的数组是有序的,根据规则: 索引0对应最小的卡片,索引2对应第二最小的卡片,索引4对应第三最小的卡片,等等 用双向队列模拟行为 ,对原数组进行排序,即为最终结…
剑指Offer(三):从尾到头打印链表[链表]
牛客网刷题笔记记录。 一.题目 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 二.思路分析 链表的遍历方式为从前往后,要求的输出为从后往前。这明显是一个先进后出的问题,由此想到利用栈进行解决本问题。 …
插入排序(InsertingSort)
插入排序: 以下面的数组arry 为例: 90 ,41 ,57 ,71 ,93 ,29 ,35 ,14 ,64 ,16 先以arry[0]为基准。 外层第一次循环: 定义临时变量temp = arry[1] = 41 第…
bruteForce 暴力匹配算法
目录 一、代码 二、结果 一、代码 #include <stdio.h> #include <string.h> int test() { const char* src = "BBCABCDAB…
leetcode-0145-Binary-Tree-Postorder-Traversal
二叉树后序遍历 #include <iostream> #include <vector> using namespace std; /// Definition for a binary tre…
二分查找
不对称边界(指针形式): int* binary_search(int *t, int n, int x){ int *lo = t; int *hi = t + n; while(lo < hi){ // <…
CF_1113C_Sasha and a Bit of Relax:(扫盲:区间异或)
题意:就是求一段[l,r]使得r-l+1是偶数且 a_l⊕a_l+1⊕…⊕a_mid=a_mid+1⊕a_mid+2⊕…⊕a_r的区间。 解法:如果A^B=C, 那么A=B^C,(两边都是异或上B,自己异或自己等于0),…