![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言算法
Xu816
专注,积累,坚持
展开
-
杨辉三角(C语言求解)
题目给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]代码1int** generate(int numRows, int** columnSizes) { int** array=(...原创 2019-04-21 13:25:43 · 633 阅读 · 0 评论 -
实现strStr()(字符串中子字符串的查找)(C语言)
strStr()实现1.题目实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaaa...原创 2019-04-21 15:25:56 · 4946 阅读 · 0 评论 -
回文链表(C语言)
1.题目请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?思路1.首先使用快慢双指针找到链表中点。2.将链表后半段进行反转将反转后的后半段与链表前半段比较。代码/** * Definition f...原创 2019-04-26 11:11:32 · 1884 阅读 · 0 评论 -
翻转字符串里的单词(C语言解决)
1.题目给定一个字符串,逐个翻转字符串中的每个单词。示例 1:输入: “the sky is blue”输出: “blue is sky the”示例 2:输入: " hello world! "输出: “world! hello”解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。示例 3:输入: “a good example”输出: “...原创 2019-04-22 16:03:13 · 2941 阅读 · 1 评论 -
合并两个有序链表(C语言)
题目将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解决思路1.排列顺序为由小到大排序,所以建立一个返回指针head指向两个链表中首元素较小的的那个链表,2.将两个链表合并。建立两个指针p1,p2分别指向两...原创 2019-04-26 18:54:12 · 11335 阅读 · 2 评论 -
两数相加(C语言解法)
题目给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -&g...原创 2019-04-26 19:45:58 · 7066 阅读 · 1 评论 -
旋转链表(C语言)
题目给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4->...原创 2019-04-26 20:23:27 · 715 阅读 · 0 评论 -
x 的平方根(二分法C语言实现)
题目实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842…,由于返回类型是整数,小数部分将被舍去。思路首先设定左右边界,取左右边界平均值进行平方,检验是否和目标值x相等,如果大...原创 2019-04-26 21:26:30 · 5972 阅读 · 4 评论 -
搜索旋转排序数组
题目假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入: nums = [4,5,6,7,0,1,2], t...原创 2019-04-27 19:14:32 · 186 阅读 · 0 评论