方法一:双指针法 采用就地反转,不用额外开辟空间 注意:接收链表的head节点,返回当前节点 方法二:递归法 代码如下: class Node(object): def __init__(self, item, next=None): self.item = item self.next = nex ...
分类:
其他好文 时间:
2021-04-21 12:23:41
阅读次数:
0
589. N叉树的前序遍历 //给定一个 N 叉树,返回其节点值的前序遍历。 // // 例如,给定一个 3叉树 : // // // // // // // // 返回其前序遍历: [1,3,5,6,2,4]。 // // // // 说明: 递归法很简单,你可以使用迭代法完成此题吗? Relat ...
分类:
其他好文 时间:
2021-01-13 11:05:40
阅读次数:
0
590. N叉树的后序遍历 //给定一个 N 叉树,返回其节点值的后序遍历。 // // 例如,给定一个 3叉树 : // // // // // // // // 返回其后序遍历: [5,6,3,2,4,1]. // // // // 说明: 递归法很简单,你可以使用迭代法完成此题吗? Relat ...
分类:
其他好文 时间:
2021-01-13 11:04:17
阅读次数:
0
589. N叉树的前序遍历 Difficulty: 简单 给定一个 N 叉树,返回其节点值的_前序遍历_。 例如,给定一个 3叉树 : 返回其前序遍历: [1,3,5,6,2,4]。 **说明: **递归法很简单,你可以使用迭代法完成此题吗? Solution Language: **** """ ...
分类:
其他好文 时间:
2020-12-14 13:21:17
阅读次数:
3
一.描述 一个简单的二叉树的例子,比如求二叉树的所有节点的和 比如下面这棵树,所有节点的和为 1+2+3=6 二.递归法来求解 通过树的结构可以得到解法,即总和为当前节点的和加上左节点的和加上右节点的和 即 Sum = cur.val + cur.left.val + cur.right.val 根 ...
分类:
其他好文 时间:
2020-12-02 12:27:26
阅读次数:
4
方法一:递归 解题思路 递归法,假设后续链表已经完成交换,此时只需要对前两个节点进行交换,然后再连接上后续已交换的链表即可。 代码 /** * Definition for singly-linked list. * public class ListNode { * public int val; ...
分类:
其他好文 时间:
2020-11-25 12:29:02
阅读次数:
5
翻转单链表是出现在 各大公司 的面试中频率最高的一题了!!! 有 头插法 和 递归法 两种实现方法,一次性写出 bug free 的代码不是件容易的事! 具体看下面的代码和注释 如下: 1 /** 2 * Definition for singly-linked list. 3 * struct L ...
分类:
其他好文 时间:
2020-11-19 13:01:57
阅读次数:
19
用递归法将一个整数n转换成字符串。例如,输人483,应输出字符串”483”。n的位数不确定,可以是任意位数的整数 题目解析: 递归法求解主要要有结束条件,此题为n/10 == 0时就直接输出,其次本题还要考虑如果整数位负数的情形,此时需要输出一个字符串的负号。 #include<stdio.h> v ...
分类:
其他好文 时间:
2020-07-22 20:37:57
阅读次数:
91
题目链接:https://leetcode-cn.com/problems/n-ary-tree-postorder-traversal/ 方法一递归法:先访问子节点,然后访问根。LeetCode代码: /* // Definition for a Node. class Node { public ...
分类:
其他好文 时间:
2020-07-16 21:39:10
阅读次数:
79
单向链表反转的方法有很多,其中用的比较多的是迭代法和递归法,迭代法通俗易懂,递归法相对来说比较难理解一些。 最近读了一些网上的文章对这两种算法的解释后,有些自己的理解分享出来供大家参考。 单向链表反转图示: 一、迭代法 迭代法的解题思路是:通过循环遍历的方式,使链表的每一个节点和它的下一个节点断开, ...
分类:
其他好文 时间:
2020-07-05 19:17:44
阅读次数:
145