问题: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 分析:二叉搜索树的中序遍历将得到升序结果。 (1)使用List结构记录中序遍历结果. (2)将list中的元素构建为双向链表。 code: public TreeNode Co ...
分类:
其他好文 时间:
2020-05-16 15:10:55
阅读次数:
62
找到链表倒数第k个节点 class Solution { public ListNode getKthFromEnd(ListNode head, int k) { if(head == null) return null; ListNode dummyHead = new ListNode(-1) ...
分类:
其他好文 时间:
2020-05-07 18:09:11
阅读次数:
62
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 5 using namespace std; 6 7 8 //解决约瑟夫环问题 9 //分别使用数组和链表 10 //问题描述:n只猴子围成一个圈选大王,从1开始数m个数 ...
分类:
其他好文 时间:
2020-05-01 12:53:52
阅读次数:
43
题目描述: 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL 来源:力扣(LeetCode) 解题思路 1.双指针 1.用pre,cur两个指针分别指向当前节点和前一个节点, ...
分类:
其他好文 时间:
2020-03-27 01:12:35
阅读次数:
245
1.查找问题: 二分查找: 例题:使用map解决查找问题 代码: #include <bits/stdc++.h> using namespace std; //查找学生信息 struct Student{ string name; string sex; int age; string id; } ...
分类:
其他好文 时间:
2020-03-01 14:07:43
阅读次数:
59
问题描述: 反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明:1 ≤ m ≤ n ≤ 链表长度。 示例: 输入: 1->2->3->4->5->NULL, m = 2, n = 4 输出: 1->4->3->2->5->NULL class ListNode: def __init__ ...
分类:
编程语言 时间:
2020-02-26 20:34:30
阅读次数:
66
面试题35:复杂链表的复制 题目描述 请实现函数ComplexListNode Clone(ComplexListNode pHead),复制一个复杂链表。在复杂链表中,每个节点除了有一个next引用向下一个节点外,还有一个sibling 指向链表中的任意节点或者null。 节点的定义如下: 问题分 ...
分类:
其他好文 时间:
2020-01-31 20:41:55
阅读次数:
52
1. 如何在一次传递中找到单链表的中间元素? 答案:http://javarevisited.blogspot.sg/2012/12/how-to-find-middle-element-of-linked-list-one-pass.html 2. 如何在不使用递归的情况下反转单链表? 答案:ht ...
分类:
其他好文 时间:
2019-11-23 20:27:14
阅读次数:
70
【问题描述】 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 【AC代码】 递归版:Reference: https://blog.csdn.net/gsch_12/article/details/81156451 1 /* 2 public class ...
分类:
编程语言 时间:
2019-10-07 09:16:21
阅读次数:
67