标签:Node pre right cur Offer 36 value 链表 left
【LeetCode】剑指 Offer 36. 二叉搜索树与双向链表
文章目录
package offer;
//定义节点
class Node{
int value;
Node left;
Node right;
public Node(int value){
this.value = value;
}
public Node(int value, Node left, Node right){
this.value = value;
this.left = left;
this.right = right;
}
@Override
public String toString() {
return "Node{" +
"value=" + value +
'}';
}
}
public class Solution36 {
public static void main(String[] args) {
Node node1 = new Node(4);
Node node2 = new Node(2);
Node node3 = new Node(5);
Node node4 = new Node(1);
Node node5 = new Node(3);
node1.left = node2;
node1.right = node3;
node2.left = node4;
node2.right = node5;
Solution36 solution = new Solution36();
System.out.println(solution.method(node1));
}
Node pre;
Node head;
private Node method(Node root){
if(root == null) return null;
dfs(root);
head.left = pre;
pre.right = head;
return head;
}
private void dfs(Node cur){
if(cur == null) return;
dfs(cur.left);
if(pre != null) pre.right = cur;
else head = cur;
cur.left = pre;
pre = cur;
dfs(cur.right);
}
}
//时间复杂度为 O(n)
//空间复杂度为 O(n)
标签:Node,pre,right,cur,Offer,36,value,链表,left 来源: https://blog.csdn.net/qq_45593575/article/details/122277731
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。