- 博客(7)
- 收藏
- 关注
原创 2020-08-17
实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 1。示例 1:给定二叉树 [3,9,20,null,null,15,7] 返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,null,4,4] 返回 false 。int max(int a,int b){ return a>b?a:b;}int maxDepth(struct TreeNode* root,bool *p_tmp)...
2020-08-17 18:27:35
92
原创 2020-08-13
编写一个函数,检查输入的链表是否是回文的。示例 1:输入: 1->2输出: false 示例 2:输入: 1->2->2->1输出: true /** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */bool isPalindrome(struct ListNode*
2020-08-13 10:12:48
71
原创 倒序输出链表2020-08-11
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; *//** * Note: The returned array must be malloced, assume .
2020-08-11 16:43:26
97
原创 另类的删除结点2020-08-11
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。void deleteNode(struct ListNode* node) { node->val = node->next->val; node->next = node->next->next;}并没有给head,不要陷入思维定式,明摆的给你要删除的结点,将此结点的值换成下一结点的值,然后删除下一结点,曲线救国。...
2020-08-11 16:38:00
89
原创 数据结构(链表双指针)2020-08-10
实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。输入:1->2->3->4->5 和 k = 2输出: 4方法一:int kthToLast(struct ListNode* head, int k){ int count=0; int i; int res; struct ListNode *p = head; while(p!=NULL){ p = p->next; c
2020-08-10 17:32:55
66
原创 数据结构(链表双指针)2020-08-10
给定两个(单向)链表,判定它们是否相交并返回交点。请注意相交的定义基于节点的引用,而不是基于节点的值。换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表相交。输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个列表相交
2020-08-10 10:13:13
97
原创 PTA数据结构(链表)
PTA数据结构(链表)本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。函数接口定义:List Merge( List L1, List L2 );其中List结构定义如下:typedef struct Node PtrToNode;struct Node {ElementType Data; / 存储结点数据 /PtrToNode Next; / 指向下一个结点的指针 /};typedef PtrToNode List; / 定义单链表类型 */L1和
2020-08-10 08:55:09
929
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人