剑指Offer之Java算法习题精讲二叉树与链表

网友投稿 221 2022-08-19


剑指Offer之Java算法习题精讲二叉树与链表

题目一

解法

/**

* Dhttp://efinition for a binary tree node.

* public http://class TreeNode {

* int val;

* TreeNode left;

* TreeNode right;

* TreeNode(int x) { val = x; }

* }

*/

class Solution {

public boolean isBalanced(TreeNode root) {

if(root==null){

return true;

}else{

return Math.abs(method(root.left) - method(root.right)) <= 1&&isBalanced(root.left) && isBalanced(root.right);

}

}

public int method(TreeNode root){

if(root==null){

return 0;

}else{

http://return Math.max(method(root.left),method(root.right))+1;

}

}

}

题目二

解法

/**

* Definition for a binary tree node.

* public class TreeNode {

* int val;

* TreeNode left;

* TreeNode right;

* TreeNode(int x) { val = x; }

* }

*/

class Solution {

public boolean isSymmetric(TreeNode root) {

if(root==null) return true;

return method(root.left,root.right);

}

public boolean method(TreeNode l,TreeNode r){

if(l==null&&r==null) return true;

if(l==null||r==null||l.val!=r.val) return false;

return method(l.left,r.right)&&method(l.right,r.left);

}

}

题目三

解法

/**

* Definition for singly-linked list.

* public class ListNode {

* int val;

* ListNode next;

* ListNode(int x) { val = x; }

* }

*/

class Solution {

public ListNode deleteNode(ListNode head, int val) {

http:// ListNode temp = new ListNode(-1);

temp.next = head;

ListNode ans = temp;

while(temp.next!=null){

if(temp.next.val==val){

temp.next = temp.next.next;

}else{

temp = temp.next;

}

}

return ans.next;

}

}

题目四

解法

/**

* Definition for singly-linked list.

* public class ListNode {

* int val;

* ListNode next;

* ListNode(int x) { val = x; }

* }

*/

class Solution {

public ListNode reverseList(ListNode head) {

ListNode prev = null;

ListNode curr = head;

while (curr != null) {

ListNode next = curr.next;

curr.next = prev;

prev = curr;

curr = next;

}

return prev;

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:springboot实现通过路径从磁盘直接读取图片
下一篇:使用Spring Boot 2.x构建Web服务的详细代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~